a fix to IAR's incapability to force struct's member on specified alignment
This commit is contained in:
parent
9ba209cda0
commit
b6e4c0d348
|
@ -67,11 +67,11 @@
|
||||||
#define TUSB_CFG_DEVICE_FULLSPEED 1 // TODO refractor, remove
|
#define TUSB_CFG_DEVICE_FULLSPEED 1 // TODO refractor, remove
|
||||||
|
|
||||||
//------------- CLASS -------------//
|
//------------- CLASS -------------//
|
||||||
#define TUSB_CFG_DEVICE_HID_KEYBOARD 0
|
#define TUSB_CFG_DEVICE_HID_KEYBOARD 1
|
||||||
#define TUSB_CFG_DEVICE_HID_MOUSE 0
|
#define TUSB_CFG_DEVICE_HID_MOUSE 1
|
||||||
#define TUSB_CFG_DEVICE_HID_GENERIC 0
|
#define TUSB_CFG_DEVICE_HID_GENERIC 0
|
||||||
#define TUSB_CFG_DEVICE_MSC 1
|
#define TUSB_CFG_DEVICE_MSC 0
|
||||||
#define TUSB_CFG_DEVICE_CDC 0
|
#define TUSB_CFG_DEVICE_CDC 1
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// COMMON CONFIGURATION
|
// COMMON CONFIGURATION
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
#error Please define USB RAM section
|
#error Please define USB RAM section
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif __ICCARM__ // compiled with IAR
|
#elif defined __ICCARM__ // compiled with IAR
|
||||||
|
|
||||||
#if (TUSB_CFG_MCU == MCU_LPC43XX)
|
#if (TUSB_CFG_MCU == MCU_LPC43XX)
|
||||||
#define TUSB_CFG_ATTR_USBRAM _Pragma("location=\".ahb_sram1\"")
|
#define TUSB_CFG_ATTR_USBRAM _Pragma("location=\".ahb_sram1\"")
|
||||||
|
|
|
@ -53,7 +53,17 @@
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ATTR_USB_MIN_ALIGNMENT msc_cmd_block_wrapper_t cbw;
|
ATTR_USB_MIN_ALIGNMENT msc_cmd_block_wrapper_t cbw;
|
||||||
|
|
||||||
|
#if defined (__ICCARM__) && (TUSB_CFG_MCU == MCU_LPC11UXX || TUSB_CFG_MCU == MCU_LPC13UXX)
|
||||||
|
uint8_t padding1[64-sizeof(msc_cmd_block_wrapper_t)]; // IAR cannot align struct's member
|
||||||
|
#endif
|
||||||
|
|
||||||
ATTR_USB_MIN_ALIGNMENT msc_cmd_status_wrapper_t csw;
|
ATTR_USB_MIN_ALIGNMENT msc_cmd_status_wrapper_t csw;
|
||||||
|
|
||||||
|
#if defined (__ICCARM__) && (TUSB_CFG_MCU == MCU_LPC11UXX || TUSB_CFG_MCU == MCU_LPC13UXX)
|
||||||
|
uint8_t padding2[64-sizeof(msc_cmd_status_wrapper_t)]; // IAR cannot align struct's member
|
||||||
|
#endif
|
||||||
|
|
||||||
ATTR_USB_MIN_ALIGNMENT uint8_t max_lun; // can STALL for one LUN
|
ATTR_USB_MIN_ALIGNMENT uint8_t max_lun; // can STALL for one LUN
|
||||||
|
|
||||||
uint8_t interface_number;
|
uint8_t interface_number;
|
||||||
|
|
Loading…
Reference in New Issue