Kaynağa Gözat

fix cast-align warning for nuc505

hathach 5 yıl önce
ebeveyn
işleme
550746097b

+ 0 - 3
hw/bsp/nutiny_sdk_nuc505/board.mk

@@ -7,9 +7,6 @@ CFLAGS += \
   -mfpu=fpv4-sp-d16 \
   -DCFG_TUSB_MCU=OPT_MCU_NUC505
 
-# TODO this cast-align is caused by dcd_nuc505 should be fixed
-CFLAGS += -Wno-error=cast-align
-
 # All source paths should be relative to the top level.
 LD_FILE = hw/bsp/$(BOARD)/nuc505_flashtoram.ld
 

+ 4 - 1
src/portable/nuvoton/nuc505/dcd_nuc505.c

@@ -182,7 +182,10 @@ static void dcd_userEP_in_xfer(struct xfer_ctl_t *xfer, USBD_EP_T *ep)
   /* provided buffers are thankfully 32-bit aligned, allowing most data to be transfered as 32-bit */
   while (countdown > 3)
   {
-    ep->EPDAT = *(uint32_t *)xfer->data_ptr;
+    uint32_t u32;
+    memcpy(&u32, xfer->data_ptr, 4);
+
+    ep->EPDAT = u32;
     xfer->data_ptr += 4; countdown -= 4;
   }
   while (countdown--)