summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author蒙蒙plus <[email protected]>2025-11-07 01:04:03 +0800
committersakumisu <[email protected]>2025-11-07 15:40:18 +0800
commitbb2a50712bbbb5456a66d393d6337417aaa86a49 (patch)
tree3173d0487941ad471ce7d9cb30ebfc61c97f9133
parenteec89fd7689888332a0bdf1c4b67ff32f9e7243d (diff)
fix(usb_dc_dwc2): add unaligned read/write macros for IAR compiler
-rw-r--r--port/dwc2/usb_dc_dwc2.c7
1 files changed, 7 insertions, 0 deletions
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