mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-31 05:52:55 +08:00
Merge pull request #411 from hathach/fix-cast-align-warning
enable -Wcast-align
This commit is contained in:
commit
76bf96bcb0
@ -6,6 +6,9 @@ CFLAGS += \
|
||||
-DTCP_WND=2*TCP_MSS \
|
||||
-DHTTPD_USE_CUSTOM_FSDATA=0
|
||||
|
||||
# TODO rndis_reports.c and net_device cause cast algin warnings
|
||||
CFLAGS += -Wno-error=cast-align
|
||||
|
||||
INC += \
|
||||
src \
|
||||
$(TOP)/hw \
|
||||
|
@ -63,11 +63,9 @@ CFLAGS += \
|
||||
-Wwrite-strings \
|
||||
-Wsign-compare \
|
||||
-Wmissing-format-attribute \
|
||||
-Wunreachable-code
|
||||
|
||||
# This causes lots of warning with nrf5x build due to nrfx code
|
||||
# CFLAGS += -Wcast-align
|
||||
|
||||
-Wunreachable-code \
|
||||
-Wcast-align
|
||||
|
||||
# Debugging/Optimization
|
||||
ifeq ($(DEBUG), 1)
|
||||
CFLAGS += -Og -ggdb
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DNRF52840_XXAA \
|
||||
-DCONFIG_GPIO_AS_PINRESET
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DNRF52840_XXAA \
|
||||
-DCONFIG_GPIO_AS_PINRESET
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DNRF52840_XXAA \
|
||||
-DCONFIG_GPIO_AS_PINRESET
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DNRF52840_XXAA \
|
||||
-DCONFIG_GPIO_AS_PINRESET
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DNRF52840_XXAA \
|
||||
-DCONFIG_GPIO_AS_PINRESET
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,6 +9,9 @@ CFLAGS += \
|
||||
-DSTM32F405xx \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F4
|
||||
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=cast-align
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F4xx
|
||||
|
||||
|
@ -8,8 +8,8 @@ CFLAGS += \
|
||||
-DNRF52840_XXAA \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_NRF5X
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -19,13 +19,11 @@ SRC_C += \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/i2s.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/pwm.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/rtc.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/sd.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/spi.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/spim.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/sys.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/timer.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/uart.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/usbd.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/wdt.c \
|
||||
hw/mcu/nuvoton/nuc505/StdDriver/src/wwdt.c
|
||||
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DCONFIG_GPIO_AS_PINRESET \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_NRF5X
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DCONFIG_GPIO_AS_PINRESET \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_NRF5X
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DCONFIG_GPIO_AS_PINRESET \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_NRF5X
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -8,8 +8,8 @@ CFLAGS += \
|
||||
-DNRF52840_XXAA \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_NRF5X
|
||||
|
||||
# nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=undef -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
# due to tusb_hal_nrf_power_event
|
||||
GCCVERSION = $(firstword $(subst ., ,$(shell arm-none-eabi-gcc -dumpversion)))
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DCFG_EXAMPLE_MSC_READONLY \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F0
|
||||
|
||||
# mcu driver cause following warnings
|
||||
CFLAGS += -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F0xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F0xx
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DCFG_EXAMPLE_MSC_READONLY \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F0
|
||||
|
||||
# mcu driver cause following warnings
|
||||
CFLAGS += -Wno-error=unused-parameter
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F0xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F0xx
|
||||
|
@ -9,6 +9,9 @@ CFLAGS += \
|
||||
-DSTM32F407xx \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F4
|
||||
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=cast-align
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F4xx
|
||||
|
||||
|
@ -9,6 +9,9 @@ CFLAGS += \
|
||||
-DSTM32F411xE \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F4
|
||||
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=cast-align
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F4xx
|
||||
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DSTM32F412Zx \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F4
|
||||
|
||||
# mcu driver cause following warnings
|
||||
CFLAGS += -Wno-error=maybe-uninitialized
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=cast-align
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F4xx
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DSTM32F746xx \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F7
|
||||
|
||||
# mcu driver cause following warnings
|
||||
CFLAGS += -Wno-error=shadow
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=cast-align -Wno-error=shadow
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F7xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F7xx
|
||||
|
@ -9,8 +9,8 @@ CFLAGS += \
|
||||
-DSTM32F767xx \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32F7
|
||||
|
||||
# mcu driver cause following warnings
|
||||
CFLAGS += -Wno-error=shadow
|
||||
# suppress warning caused by vendor mcu driver
|
||||
CFLAGS += -Wno-error=cast-align -Wno-error=shadow
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F7xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F7xx
|
||||
|
@ -10,7 +10,6 @@ CFLAGS += \
|
||||
-DCFG_TUSB_MCU=OPT_MCU_STM32H7
|
||||
|
||||
# mcu driver cause following warnings
|
||||
CFLAGS += -Wno-error=maybe-uninitialized
|
||||
|
||||
ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32H7xx_HAL_Driver
|
||||
ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32H7xx
|
||||
|
@ -106,7 +106,7 @@ static inline uint16_t tu_max16 (uint16_t x, uint16_t y) { return (x > y) ? x :
|
||||
static inline uint32_t tu_max32 (uint32_t x, uint32_t y) { return (x > y) ? x : y; }
|
||||
|
||||
// Align
|
||||
static inline uint32_t tu_align_n(uint32_t value, uint32_t alignment)
|
||||
static inline uint32_t tu_align(uint32_t value, uint32_t alignment)
|
||||
{
|
||||
return value & ((uint32_t) ~(alignment-1));
|
||||
}
|
||||
|
@ -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--)
|
||||
|
@ -273,7 +273,8 @@ typedef struct {
|
||||
dcd_qtd_t qtd[QHD_MAX] TU_ATTR_ALIGNED(32); // for portability, TinyUSB only queue 1 TD for each Qhd
|
||||
}dcd_data_t;
|
||||
|
||||
static dcd_data_t _dcd_data CFG_TUSB_MEM_SECTION TU_ATTR_ALIGNED(2048);
|
||||
CFG_TUSB_MEM_SECTION TU_ATTR_ALIGNED(2048)
|
||||
static dcd_data_t _dcd_data;
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// CONTROLLER API
|
||||
@ -478,7 +479,8 @@ bool dcd_edpt_xfer(uint8_t rhport, uint8_t ep_addr, uint8_t * buffer, uint16_t t
|
||||
|
||||
// Force the CPU to flush the buffer. We increase the size by 32 because the call aligns the
|
||||
// address to 32-byte boundaries.
|
||||
CleanInvalidateDCache_by_Addr((uint32_t*) buffer, total_bytes + 31);
|
||||
// void* cast to suppress cast-align warning, buffer must be
|
||||
CleanInvalidateDCache_by_Addr((uint32_t*) tu_align((uint32_t) buffer, 4), total_bytes + 31);
|
||||
|
||||
//------------- Prepare qtd -------------//
|
||||
qtd_init(p_qtd, buffer, total_bytes);
|
||||
|
Loading…
x
Reference in New Issue
Block a user