diff options
author | David Barksdale <amatus@amatus.name> | 2016-08-02 18:19:31 -0500 |
---|---|---|
committer | David Barksdale <amatus@amatus.name> | 2016-08-02 22:12:15 -0500 |
commit | c96bdbec1c030647a777a975534521bc30b03e6b (patch) | |
tree | cba942c63d2957e24f7bcd4b47a3e9f0baff7b98 /KSDK_1.2.0 | |
parent | 08a23051ab4418ade7708a047c62e479ab19c829 (diff) |
Add flash support, multiple LUN support
Diffstat (limited to 'KSDK_1.2.0')
-rw-r--r-- | KSDK_1.2.0/usb/usb_core/device/sources/classes/include/usb_class_msc.h | 1 | ||||
-rw-r--r-- | KSDK_1.2.0/usb/usb_core/device/sources/classes/msd/usb_msc.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/KSDK_1.2.0/usb/usb_core/device/sources/classes/include/usb_class_msc.h b/KSDK_1.2.0/usb/usb_core/device/sources/classes/include/usb_class_msc.h index 3ada631..168877b 100644 --- a/KSDK_1.2.0/usb/usb_core/device/sources/classes/include/usb_class_msc.h +++ b/KSDK_1.2.0/usb/usb_core/device/sources/classes/include/usb_class_msc.h @@ -132,6 +132,7 @@ typedef struct _lba_app_struct uint32_t offset; /*!< offset of target block need to access*/
uint32_t size; /*!< size need to access*/
uint8_t* buff_ptr; /*!< used to save the content by access the target block*/
+ uint8_t lun;
}lba_app_struct_t;
//extern void USB_Class_Periodic_Task(void);
#define USB_MSC_Periodic_Task USB_Class_Periodic_Task
diff --git a/KSDK_1.2.0/usb/usb_core/device/sources/classes/msd/usb_msc.c b/KSDK_1.2.0/usb/usb_core/device/sources/classes/msd/usb_msc.c index e29bca8..8f0f048 100644 --- a/KSDK_1.2.0/usb/usb_core/device/sources/classes/msd/usb_msc.c +++ b/KSDK_1.2.0/usb/usb_core/device/sources/classes/msd/usb_msc.c @@ -487,6 +487,7 @@ void USB_Service_Bulk_Out(usb_event_struct_t* event,void* arg) || (WRITE_12_COMMAND == msc_obj_ptr->cbw_ptr->command_block[0])))
{
lba_app_struct_t lba_data1;
+ lba_data1.lun = cbw_ptr->lun;
lba_data1.offset = 0;
lba_data1.size = 0;
lba_data1.buff_ptr = msc_obj_ptr->msd_buff.msc_bulk_out_ptr;
@@ -1032,6 +1033,8 @@ void* arg )
{
/* return the maximum number of logical units supported */
+ USB_PRINTF("lun was %d\r\n", msc_dev_ptr->lun);
+ msc_dev_ptr->lun = 4;
*data = &msc_dev_ptr->lun;
*size= (uint32_t)setup_packet->length;
msc_dev_ptr->re_stall_flag = TRUE;
|