]> git.gag.com Git - fw/stlink/blobdiff - example/stm32f4/STM32_USB_Device_Library/Class/msc/src/usbd_storage_template.c
Added USB Device library sources
[fw/stlink] / example / stm32f4 / STM32_USB_Device_Library / Class / msc / src / usbd_storage_template.c
diff --git a/example/stm32f4/STM32_USB_Device_Library/Class/msc/src/usbd_storage_template.c b/example/stm32f4/STM32_USB_Device_Library/Class/msc/src/usbd_storage_template.c
new file mode 100644 (file)
index 0000000..927e9dd
--- /dev/null
@@ -0,0 +1,179 @@
+/**
+  ******************************************************************************
+  * @file    usbd_storage_template.c
+  * @author  MCD Application Team
+  * @version V1.0.0
+  * @date    22-July-2011
+  * @brief   Memory management layer
+  ******************************************************************************
+  * @attention
+  *
+  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+  *
+  * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
+  ******************************************************************************
+  */ 
+
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_msc_mem.h"
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Extern function prototypes ------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+#define STORAGE_LUN_NBR                  1                    
+
+int8_t STORAGE_Init (uint8_t lun);
+
+int8_t STORAGE_GetCapacity (uint8_t lun, 
+                           uint32_t *block_num, 
+                           uint16_t *block_size);
+
+int8_t  STORAGE_IsReady (uint8_t lun);
+
+int8_t  STORAGE_IsWriteProtected (uint8_t lun);
+
+int8_t STORAGE_Read (uint8_t lun, 
+                        uint8_t *buf, 
+                        uint32_t blk_addr,
+                        uint16_t blk_len);
+
+int8_t STORAGE_Write (uint8_t lun, 
+                        uint8_t *buf, 
+                        uint32_t blk_addr,
+                        uint16_t blk_len);
+
+int8_t STORAGE_GetMaxLun (void);
+
+/* USB Mass storage Standard Inquiry Data */
+const int8_t  STORAGE_Inquirydata[] = {//36
+  
+  /* LUN 0 */
+  0x00,                
+  0x80,                
+  0x02,                
+  0x02,
+  (USBD_STD_INQUIRY_LENGTH - 5),
+  0x00,
+  0x00,        
+  0x00,
+  'S', 'T', 'M', ' ', ' ', ' ', ' ', ' ', /* Manufacturer : 8 bytes */
+  'P', 'r', 'o', 'd', 'u', 't', ' ', ' ', /* Product      : 16 Bytes */
+  ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+  '0', '.', '0' ,'1',                     /* Version      : 4 Bytes */
+}; 
+
+USBD_STORAGE_cb_TypeDef USBD_MICRO_SDIO_fops =
+{
+  STORAGE_Init,
+  STORAGE_GetCapacity,
+  STORAGE_IsReady,
+  STORAGE_IsWriteProtected,
+  STORAGE_Read,
+  STORAGE_Write,
+  STORAGE_GetMaxLun,
+  STORAGE_Inquirydata,
+  
+};
+
+USBD_STORAGE_cb_TypeDef  *USBD_STORAGE_fops = &USBD_MICRO_SDIO_fops;
+/*******************************************************************************
+* Function Name  : Read_Memory
+* Description    : Handle the Read operation from the microSD card.
+* Input          : None.
+* Output         : None.
+* Return         : None.
+*******************************************************************************/
+int8_t STORAGE_Init (uint8_t lun)
+{
+  return (0);
+}
+
+/*******************************************************************************
+* Function Name  : Read_Memory
+* Description    : Handle the Read operation from the STORAGE card.
+* Input          : None.
+* Output         : None.
+* Return         : None.
+*******************************************************************************/
+int8_t STORAGE_GetCapacity (uint8_t lun, uint32_t *block_num, uint16_t *block_size)
+{
+  return (0);
+}
+
+/*******************************************************************************
+* Function Name  : Read_Memory
+* Description    : Handle the Read operation from the STORAGE card.
+* Input          : None.
+* Output         : None.
+* Return         : None.
+*******************************************************************************/
+int8_t  STORAGE_IsReady (uint8_t lun)
+{
+  return (0);
+}
+
+/*******************************************************************************
+* Function Name  : Read_Memory
+* Description    : Handle the Read operation from the STORAGE card.
+* Input          : None.
+* Output         : None.
+* Return         : None.
+*******************************************************************************/
+int8_t  STORAGE_IsWriteProtected (uint8_t lun)
+{
+  return  0;
+}
+
+/*******************************************************************************
+* Function Name  : Read_Memory
+* Description    : Handle the Read operation from the STORAGE card.
+* Input          : None.
+* Output         : None.
+* Return         : None.
+*******************************************************************************/
+int8_t STORAGE_Read (uint8_t lun, 
+                 uint8_t *buf, 
+                 uint32_t blk_addr,                       
+                 uint16_t blk_len)
+{
+  return 0;
+}
+/*******************************************************************************
+* Function Name  : Write_Memory
+* Description    : Handle the Write operation to the STORAGE card.
+* Input          : None.
+* Output         : None.
+* Return         : None.
+*******************************************************************************/
+int8_t STORAGE_Write (uint8_t lun, 
+                  uint8_t *buf, 
+                  uint32_t blk_addr,
+                  uint16_t blk_len)
+{
+  return (0);
+}
+/*******************************************************************************
+* Function Name  : Write_Memory
+* Description    : Handle the Write operation to the STORAGE card.
+* Input          : None.
+* Output         : None.
+* Return         : None.
+*******************************************************************************/
+int8_t STORAGE_GetMaxLun (void)
+{
+  return (STORAGE_LUN_NBR - 1);
+}
+
+/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
+