From bb2a50712bbbb5456a66d393d6337417aaa86a49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=92=99=E8=92=99plus?= Date: Fri, 7 Nov 2025 01:04:03 +0800 Subject: [PATCH] fix(usb_dc_dwc2): add unaligned read/write macros for IAR compiler --- port/dwc2/usb_dc_dwc2.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/port/dwc2/usb_dc_dwc2.c b/port/dwc2/usb_dc_dwc2.c index 88dd5fcc..0d94719e 100644 --- a/port/dwc2/usb_dc_dwc2.c +++ b/port/dwc2/usb_dc_dwc2.c @@ -15,6 +15,13 @@ #ifndef __UNALIGNED_UINT32_READ #define __UNALIGNED_UINT32_READ(addr) (*((const __packed uint32_t *)(addr))) #endif +#elif defined (__ICCARM__) +#ifndef __UNALIGNED_UINT32_WRITE + #define __UNALIGNED_UINT32_WRITE(addr, val) ((*((__packed uint32_t *)(addr))) = (val)) +#endif +#ifndef __UNALIGNED_UINT32_READ + #define __UNALIGNED_UINT32_READ(addr) (*((const __packed uint32_t *)(addr))) +#endif #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) #ifndef __UNALIGNED_UINT32_WRITE #pragma clang diagnostic push