summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author蒙蒙plus <[email protected]>2025-11-07 01:04:03 +0800
committersakumisu <[email protected]>2025-11-09 22:28:02 +0800
commita33396fa93c6824ad898afe566041f4a9bfb00e4 (patch)
treeb1bc5c52885bee283c28d6a6ad42c33885429681
parentab8efcb07d9c7fe8ade87c2d57678f9098ccf5ae (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