diff --git a/tinyusb/host/ohci/ohci.c b/tinyusb/host/ohci/ohci.c index ab27c6e5a..197f3fb02 100644 --- a/tinyusb/host/ohci/ohci.c +++ b/tinyusb/host/ohci/ohci.c @@ -135,7 +135,7 @@ enum { //--------------------------------------------------------------------+ // INTERNAL OBJECT & FUNCTION DECLARATION //--------------------------------------------------------------------+ -TUSB_CFG_ATTR_USBRAM STATIC_VAR ohci_data_t ohci_data; +TUSB_CFG_ATTR_USBRAM ATTR_ALIGNED(256) STATIC_VAR ohci_data_t ohci_data; static ohci_ed_t * const p_ed_head[] = { diff --git a/tinyusb/host/ohci/ohci.h b/tinyusb/host/ohci/ohci.h index 43875dcb3..f03ef94b9 100644 --- a/tinyusb/host/ohci/ohci.h +++ b/tinyusb/host/ohci/ohci.h @@ -77,9 +77,11 @@ typedef struct { volatile uint16_t frame_number; volatile uint16_t frame_pad; volatile uint32_t done_head; - uint8_t reserved[116]; // TODO try to make use of this area if possible + uint8_t reserved[116+4]; // TODO try to make use of this area if possible, extra 4 byte to make the whole struct size = 256 }ohci_hcca_t; // ATTR_ALIGNED(256) +STATIC_ASSERT( sizeof(ohci_hcca_t) == 256, "size is not correct" ); + typedef struct { uint32_t reserved[2]; volatile uint32_t next_td;