Просмотр исходного кода

move -flto to board.mk

current board that doesn work with flto is spresense and mimxrt10xx (due
to xip image_vector_table is optimized out).
hathach 6 лет назад
Родитель
Сommit
f638594536
42 измененных файлов с 238 добавлено и 205 удалено
  1. 1 6
      examples/make.mk
  2. 17 16
      hw/bsp/circuitplayground_bluefruit/board.mk
  3. 15 15
      hw/bsp/circuitplayground_express/board.mk
  4. 1 0
      hw/bsp/ea4088qs/board.mk
  5. 1 0
      hw/bsp/ea4357/board.mk
  6. 3 2
      hw/bsp/feather_m0_express/board.mk
  7. 2 1
      hw/bsp/feather_m4_express/board.mk
  8. 17 16
      hw/bsp/feather_nrf52840_express/board.mk
  9. 3 2
      hw/bsp/feather_stm32f405/board.mk
  10. 1 0
      hw/bsp/fomu/board.mk
  11. 1 0
      hw/bsp/lpcxpresso11u37/board.mk
  12. 1 0
      hw/bsp/lpcxpresso11u68/board.mk
  13. 1 0
      hw/bsp/lpcxpresso1347/board.mk
  14. 1 0
      hw/bsp/lpcxpresso1549/board.mk
  15. 1 0
      hw/bsp/lpcxpresso1769/board.mk
  16. 1 0
      hw/bsp/lpcxpresso51u68/board.mk
  17. 1 0
      hw/bsp/lpcxpresso54114/board.mk
  18. 1 0
      hw/bsp/lpcxpresso55s69/board.mk
  19. 1 0
      hw/bsp/mbed1768/board.mk
  20. 1 0
      hw/bsp/mcb1800/board.mk
  21. 3 2
      hw/bsp/metro_m0_express/board.mk
  22. 2 1
      hw/bsp/metro_m4_express/board.mk
  23. 1 1
      hw/bsp/mimxrt1064_evk/mimxrt1064_evk.c
  24. 1 0
      hw/bsp/ngx4330/board.mk
  25. 1 0
      hw/bsp/nrf52840_mdk_dongle/board.mk
  26. 1 0
      hw/bsp/pca10056/board.mk
  27. 1 0
      hw/bsp/pca10059/board.mk
  28. 1 0
      hw/bsp/pca10100/board.mk
  29. 3 2
      hw/bsp/pyboardv11/board.mk
  30. 9 9
      hw/bsp/spresense/board.mk
  31. 22 21
      hw/bsp/stm32f070rbnucleo/board.mk
  32. 22 21
      hw/bsp/stm32f072disco/board.mk
  33. 20 19
      hw/bsp/stm32f103bluepill/board.mk
  34. 20 19
      hw/bsp/stm32f207nucleo/board.mk
  35. 21 20
      hw/bsp/stm32f303disco/board.mk
  36. 3 2
      hw/bsp/stm32f407disco/board.mk
  37. 3 2
      hw/bsp/stm32f411disco/board.mk
  38. 3 2
      hw/bsp/stm32f412disco/board.mk
  39. 3 2
      hw/bsp/stm32f767nucleo/board.mk
  40. 3 2
      hw/bsp/stm32h743nucleo/board.mk
  41. 21 20
      hw/bsp/stm32l0538disco/board.mk
  42. 3 2
      hw/bsp/stm32l476disco/board.mk

+ 1 - 6
examples/make.mk

@@ -85,12 +85,7 @@ CFLAGS += \
 ifeq ($(DEBUG), 1)
   CFLAGS += -Og -ggdb
 else
-  ifneq ($(BOARD),spresense)
-    #CFLAGS += -flto -Os
-    CFLAGS += -Os
-  else
-    CFLAGS += -Os
-  endif
+	CFLAGS += -Os
 endif
 
 # TUSB Logging option

+ 17 - 16
hw/bsp/circuitplayground_bluefruit/board.mk

@@ -1,11 +1,12 @@
 CFLAGS += \
-	-mthumb \
-	-mabi=aapcs \
-	-mcpu=cortex-m4 \
-	-mfloat-abi=hard \
-	-mfpu=fpv4-sp-d16 \
-	-DCFG_TUSB_MCU=OPT_MCU_NRF5X \
-	-DNRF52840_XXAA \
+  -flto \
+  -mthumb \
+  -mabi=aapcs \
+  -mcpu=cortex-m4 \
+  -mfloat-abi=hard \
+  -mfpu=fpv4-sp-d16 \
+  -DCFG_TUSB_MCU=OPT_MCU_NRF5X \
+  -DNRF52840_XXAA \
   -DCONFIG_GPIO_AS_PINRESET
 
 # nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
@@ -23,17 +24,17 @@ LD_FILE = hw/bsp/circuitplayground_bluefruit/nrf52840_s140_v6.ld
 LDFLAGS += -L$(TOP)/hw/mcu/nordic/nrfx/mdk
 
 SRC_C += \
-	hw/mcu/nordic/nrfx/drivers/src/nrfx_power.c \
-	hw/mcu/nordic/nrfx/mdk/system_nrf52840.c \
+  hw/mcu/nordic/nrfx/drivers/src/nrfx_power.c \
+  hw/mcu/nordic/nrfx/mdk/system_nrf52840.c \
 
 INC += \
-	$(TOP)/hw/mcu/nordic/cmsis/Include \
-	$(TOP)/hw/mcu/nordic \
-	$(TOP)/hw/mcu/nordic/nrfx \
-	$(TOP)/hw/mcu/nordic/nrfx/mdk \
-	$(TOP)/hw/mcu/nordic/nrfx/hal \
-	$(TOP)/hw/mcu/nordic/nrfx/drivers/include \
-	$(TOP)/hw/mcu/nordic/nrfx/drivers/src \
+  $(TOP)/hw/mcu/nordic/cmsis/Include \
+  $(TOP)/hw/mcu/nordic \
+  $(TOP)/hw/mcu/nordic/nrfx \
+  $(TOP)/hw/mcu/nordic/nrfx/mdk \
+  $(TOP)/hw/mcu/nordic/nrfx/hal \
+  $(TOP)/hw/mcu/nordic/nrfx/drivers/include \
+  $(TOP)/hw/mcu/nordic/nrfx/drivers/src \
 
 SRC_S += hw/mcu/nordic/nrfx/mdk/gcc_startup_nrf52840.S
 

+ 15 - 15
hw/bsp/circuitplayground_express/board.mk

@@ -11,23 +11,23 @@ CFLAGS += \
 LD_FILE = hw/bsp/circuitplayground_express/samd21g18a_flash.ld
 
 SRC_C += \
-	hw/mcu/microchip/samd/asf4/samd21/gcc/gcc/startup_samd21.c \
-	hw/mcu/microchip/samd/asf4/samd21/gcc/system_samd21.c \
-	hw/mcu/microchip/samd/asf4/samd21/hpl/gclk/hpl_gclk.c \
-	hw/mcu/microchip/samd/asf4/samd21/hpl/pm/hpl_pm.c \
-	hw/mcu/microchip/samd/asf4/samd21/hpl/sysctrl/hpl_sysctrl.c \
-	hw/mcu/microchip/samd/asf4/samd21/hal/src/hal_atomic.c
+  hw/mcu/microchip/samd/asf4/samd21/gcc/gcc/startup_samd21.c \
+  hw/mcu/microchip/samd/asf4/samd21/gcc/system_samd21.c \
+  hw/mcu/microchip/samd/asf4/samd21/hpl/gclk/hpl_gclk.c \
+  hw/mcu/microchip/samd/asf4/samd21/hpl/pm/hpl_pm.c \
+  hw/mcu/microchip/samd/asf4/samd21/hpl/sysctrl/hpl_sysctrl.c \
+  hw/mcu/microchip/samd/asf4/samd21/hal/src/hal_atomic.c
 
 INC += \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/ \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/config \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/include \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/hal/include \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/hal/utils/include \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd51/hpl/pm/ \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/hpl/port \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/hri \
-	$(TOP)/hw/mcu/microchip/samd/asf4/samd21/CMSIS/Include
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/ \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/config \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/include \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/hal/include \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/hal/utils/include \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd51/hpl/pm/ \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/hpl/port \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/hri \
+  $(TOP)/hw/mcu/microchip/samd/asf4/samd21/CMSIS/Include
 
 # For TinyUSB port source 
 VENDOR = microchip

+ 1 - 0
hw/bsp/ea4088qs/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 1 - 0
hw/bsp/ea4357/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 3 - 2
hw/bsp/feather_m0_express/board.mk

@@ -1,10 +1,11 @@
 CFLAGS += \
-  -DCONF_DFLL_OVERWRITE_CALIBRATION=0 \
-  -D__SAMD21G18A__ \
+  -flto \
   -mthumb \
   -mabi=aapcs-linux \
   -mcpu=cortex-m0plus \
   -nostdlib -nostartfiles \
+  -D__SAMD21G18A__ \
+  -DCONF_DFLL_OVERWRITE_CALIBRATION=0 \
   -DCFG_TUSB_MCU=OPT_MCU_SAMD21
 
 # All source paths should be relative to the top level.

+ 2 - 1
hw/bsp/feather_m4_express/board.mk

@@ -1,11 +1,12 @@
 CFLAGS += \
-  -D__SAMD51J19A__ \
+  -flto \
   -mthumb \
   -mabi=aapcs-linux \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -D__SAMD51J19A__ \
   -DCFG_TUSB_MCU=OPT_MCU_SAMD51
 
 CFLAGS += -Wno-error=undef

+ 17 - 16
hw/bsp/feather_nrf52840_express/board.mk

@@ -1,11 +1,12 @@
 CFLAGS += \
-	-mthumb \
-	-mabi=aapcs \
-	-mcpu=cortex-m4 \
-	-mfloat-abi=hard \
-	-mfpu=fpv4-sp-d16 \
-	-DCFG_TUSB_MCU=OPT_MCU_NRF5X \
-	-DNRF52840_XXAA \
+  -flto \
+  -mthumb \
+  -mabi=aapcs \
+  -mcpu=cortex-m4 \
+  -mfloat-abi=hard \
+  -mfpu=fpv4-sp-d16 \
+  -DCFG_TUSB_MCU=OPT_MCU_NRF5X \
+  -DNRF52840_XXAA \
   -DCONFIG_GPIO_AS_PINRESET
 
 # nrfx issue undef _ARMCC_VERSION usage https://github.com/NordicSemiconductor/nrfx/issues/49
@@ -23,17 +24,17 @@ LD_FILE = hw/bsp/feather_nrf52840_express/nrf52840_s140_v6.ld
 LDFLAGS += -L$(TOP)/hw/mcu/nordic/nrfx/mdk
 
 SRC_C += \
-	hw/mcu/nordic/nrfx/drivers/src/nrfx_power.c \
-	hw/mcu/nordic/nrfx/mdk/system_nrf52840.c \
+  hw/mcu/nordic/nrfx/drivers/src/nrfx_power.c \
+  hw/mcu/nordic/nrfx/mdk/system_nrf52840.c \
 
 INC += \
-	$(TOP)/hw/mcu/nordic/cmsis/Include \
-	$(TOP)/hw/mcu/nordic \
-	$(TOP)/hw/mcu/nordic/nrfx \
-	$(TOP)/hw/mcu/nordic/nrfx/mdk \
-	$(TOP)/hw/mcu/nordic/nrfx/hal \
-	$(TOP)/hw/mcu/nordic/nrfx/drivers/include \
-	$(TOP)/hw/mcu/nordic/nrfx/drivers/src \
+  $(TOP)/hw/mcu/nordic/cmsis/Include \
+  $(TOP)/hw/mcu/nordic \
+  $(TOP)/hw/mcu/nordic/nrfx \
+  $(TOP)/hw/mcu/nordic/nrfx/mdk \
+  $(TOP)/hw/mcu/nordic/nrfx/hal \
+  $(TOP)/hw/mcu/nordic/nrfx/drivers/include \
+  $(TOP)/hw/mcu/nordic/nrfx/drivers/src \
 
 SRC_S += hw/mcu/nordic/nrfx/mdk/gcc_startup_nrf52840.S
 

+ 3 - 2
hw/bsp/feather_stm32f405/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=12000000 \
-  -DSTM32F405xx \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32F405xx \
+  -DHSE_VALUE=12000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32F4
 
 ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver

+ 1 - 0
hw/bsp/fomu/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -march=rv32i \
   -mabi=ilp32 \
   -nostdlib \

+ 1 - 0
hw/bsp/lpcxpresso11u37/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m0 \

+ 1 - 0
hw/bsp/lpcxpresso11u68/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m0plus \

+ 1 - 0
hw/bsp/lpcxpresso1347/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m3 \

+ 1 - 0
hw/bsp/lpcxpresso1549/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m3 \

+ 1 - 0
hw/bsp/lpcxpresso1769/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m3 \

+ 1 - 0
hw/bsp/lpcxpresso51u68/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m0plus \

+ 1 - 0
hw/bsp/lpcxpresso54114/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 1 - 0
hw/bsp/lpcxpresso55s69/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m33 \

+ 1 - 0
hw/bsp/mbed1768/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m3 \

+ 1 - 0
hw/bsp/mcb1800/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m3 \

+ 3 - 2
hw/bsp/metro_m0_express/board.mk

@@ -1,10 +1,11 @@
 CFLAGS += \
-  -DCONF_DFLL_OVERWRITE_CALIBRATION=0 \
-  -D__SAMD21G18A__ \
+  -flto \
   -mthumb \
   -mabi=aapcs-linux \
   -mcpu=cortex-m0plus \
   -nostdlib -nostartfiles \
+  -D__SAMD21G18A__ \
+  -DCONF_DFLL_OVERWRITE_CALIBRATION=0 \
   -DCFG_TUSB_MCU=OPT_MCU_SAMD21
 
 # All source paths should be relative to the top level.

+ 2 - 1
hw/bsp/metro_m4_express/board.mk

@@ -1,11 +1,12 @@
 CFLAGS += \
-  -D__SAMD51J19A__ \
+  -flto \
   -mthumb \
   -mabi=aapcs-linux \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -D__SAMD51J19A__ \
   -DCFG_TUSB_MCU=OPT_MCU_SAMD51
 
 CFLAGS += -Wno-error=undef

+ 1 - 1
hw/bsp/mimxrt1064_evk/mimxrt1064_evk.c

@@ -41,7 +41,7 @@
 #define BUTTON_PIN            0
 #define BUTTON_STATE_ACTIVE   0
 
-const uint8_t dcd_data[] = {0x00};
+const uint8_t dcd_data[] = { 0x00 };
 
 void board_init(void)
 {

+ 1 - 0
hw/bsp/ngx4330/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 1 - 0
hw/bsp/nrf52840_mdk_dongle/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 1 - 0
hw/bsp/pca10056/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 1 - 0
hw/bsp/pca10059/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 1 - 0
hw/bsp/pca10100/board.mk

@@ -1,4 +1,5 @@
 CFLAGS += \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \

+ 3 - 2
hw/bsp/pyboardv11/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=12000000 \
-  -DSTM32F405xx \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32F405xx \
+  -DHSE_VALUE=12000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32F4
 
 ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver

+ 9 - 9
hw/bsp/spresense/board.mk

@@ -1,12 +1,3 @@
-SPRESENSE_SDK = $(TOP)/hw/mcu/sony/cxd56/spresense-exported-sdk
-
-INC += \
-	$(SPRESENSE_SDK)/nuttx/include \
-	$(SPRESENSE_SDK)/nuttx/arch \
-	$(SPRESENSE_SDK)/nuttx/arch/chip \
-	$(SPRESENSE_SDK)/sdk/bsp/include \
-	$(SPRESENSE_SDK)/sdk/bsp/include/sdk \
-
 CFLAGS += \
 	-DCONFIG_WCHAR_BUILTIN \
 	-DCONFIG_HAVE_DOUBLE \
@@ -23,6 +14,15 @@ CFLAGS += \
 	-fomit-frame-pointer \
 	-DCFG_TUSB_MCU=OPT_MCU_CXD56 \
 
+SPRESENSE_SDK = $(TOP)/hw/mcu/sony/cxd56/spresense-exported-sdk
+
+INC += \
+	$(SPRESENSE_SDK)/nuttx/include \
+	$(SPRESENSE_SDK)/nuttx/arch \
+	$(SPRESENSE_SDK)/nuttx/arch/chip \
+	$(SPRESENSE_SDK)/sdk/bsp/include \
+	$(SPRESENSE_SDK)/sdk/bsp/include/sdk \
+
 LIBS += \
 	$(SPRESENSE_SDK)/sdk/libs/libapps.a \
 	$(SPRESENSE_SDK)/sdk/libs/libsdk.a \

+ 22 - 21
hw/bsp/stm32f070rbnucleo/board.mk

@@ -1,13 +1,14 @@
 CFLAGS += \
-	-DHSE_VALUE=8000000 \
-	-DSTM32F070xB \
-	-mthumb \
-	-mabi=aapcs-linux \
-	-mcpu=cortex-m0 \
-	-mfloat-abi=soft \
-	-nostdlib -nostartfiles \
-	-DCFG_EXAMPLE_MSC_READONLY \
-	-DCFG_TUSB_MCU=OPT_MCU_STM32F0
+  -flto \
+  -mthumb \
+  -mabi=aapcs-linux \
+  -mcpu=cortex-m0 \
+  -mfloat-abi=soft \
+  -nostdlib -nostartfiles \
+  -DHSE_VALUE=8000000 \
+  -DSTM32F070xB \
+  -DCFG_EXAMPLE_MSC_READONLY \
+  -DCFG_TUSB_MCU=OPT_MCU_STM32F0
 
 # mcu driver cause following warnings
 CFLAGS += -Wno-error=unused-parameter
@@ -19,21 +20,21 @@ ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F0xx
 LD_FILE = hw/bsp/$(BOARD)/stm32F070rbtx_flash.ld
 
 SRC_C += \
-	$(ST_CMSIS)/Source/Templates/system_stm32f0xx.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_cortex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc_ex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_gpio.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_uart.c
+  $(ST_CMSIS)/Source/Templates/system_stm32f0xx.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_cortex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc_ex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_gpio.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_uart.c
 SRC_S += \
-	$(ST_CMSIS)/Source/Templates/gcc/startup_stm32f070xb.s
+  $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f070xb.s
 
 INC += \
-	$(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
-	$(TOP)/$(ST_CMSIS)/Include \
-	$(TOP)/$(ST_HAL_DRIVER)/Inc \
-	$(TOP)/hw/bsp/$(BOARD)
+  $(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
+  $(TOP)/$(ST_CMSIS)/Include \
+  $(TOP)/$(ST_HAL_DRIVER)/Inc \
+  $(TOP)/hw/bsp/$(BOARD)
 
 # For TinyUSB port source
 VENDOR = st

+ 22 - 21
hw/bsp/stm32f072disco/board.mk

@@ -1,13 +1,14 @@
 CFLAGS += \
-	-DHSE_VALUE=8000000 \
-	-DSTM32F072xB \
-	-mthumb \
-	-mabi=aapcs \
-	-mcpu=cortex-m0 \
-	-mfloat-abi=soft \
-	-nostdlib -nostartfiles \
-	-DCFG_EXAMPLE_MSC_READONLY \
-	-DCFG_TUSB_MCU=OPT_MCU_STM32F0
+  -flto \
+  -mthumb \
+  -mabi=aapcs \
+  -mcpu=cortex-m0 \
+  -mfloat-abi=soft \
+  -nostdlib -nostartfiles \
+  -DSTM32F072xB \
+  -DHSE_VALUE=8000000 \
+  -DCFG_EXAMPLE_MSC_READONLY \
+  -DCFG_TUSB_MCU=OPT_MCU_STM32F0
 
 # mcu driver cause following warnings
 CFLAGS += -Wno-error=unused-parameter
@@ -19,22 +20,22 @@ ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F0xx
 LD_FILE = hw/bsp/$(BOARD)/STM32F072RBTx_FLASH.ld
 
 SRC_C += \
-	$(ST_CMSIS)/Source/Templates/system_stm32f0xx.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_cortex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc_ex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_gpio.c \
-	$(ST_HAL_DRIVER)/Src/stm32f0xx_hal_uart.c
+  $(ST_CMSIS)/Source/Templates/system_stm32f0xx.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_cortex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_rcc_ex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_gpio.c \
+  $(ST_HAL_DRIVER)/Src/stm32f0xx_hal_uart.c
 
 SRC_S += \
-	$(ST_CMSIS)/Source/Templates/gcc/startup_stm32f072xb.s
+  $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f072xb.s
 
 INC += \
-	$(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
-	$(TOP)/$(ST_CMSIS)/Include \
-	$(TOP)/$(ST_HAL_DRIVER)/Inc \
-	$(TOP)/hw/bsp/$(BOARD)
+  $(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
+  $(TOP)/$(ST_CMSIS)/Include \
+  $(TOP)/$(ST_HAL_DRIVER)/Inc \
+  $(TOP)/hw/bsp/$(BOARD)
 
 # For TinyUSB port source
 VENDOR = st

+ 20 - 19
hw/bsp/stm32f103bluepill/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-	-DHSE_VALUE=8000000 \
-	-DSTM32F103xB \
-	-mthumb \
-	-mabi=aapcs \
-	-mcpu=cortex-m3 \
-	-mfloat-abi=soft \
-	-nostdlib -nostartfiles \
-	-DCFG_TUSB_MCU=OPT_MCU_STM32F1
+  -flto \
+  -mthumb \
+  -mabi=aapcs \
+  -mcpu=cortex-m3 \
+  -mfloat-abi=soft \
+  -nostdlib -nostartfiles \
+  -DSTM32F103xB \
+  -DHSE_VALUE=8000000 \
+  -DCFG_TUSB_MCU=OPT_MCU_STM32F1
 
 # mcu driver cause following warnings
 #CFLAGS += -Wno-error=unused-parameter
@@ -18,21 +19,21 @@ ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F1xx
 LD_FILE = hw/bsp/$(BOARD)/STM32F103XB_FLASH.ld
 
 SRC_C += \
-	$(ST_CMSIS)/Source/Templates/system_stm32f1xx.c \
-	$(ST_HAL_DRIVER)/Src/stm32f1xx_hal.c \
-	$(ST_HAL_DRIVER)/Src/stm32f1xx_hal_cortex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f1xx_hal_rcc.c \
-	$(ST_HAL_DRIVER)/Src/stm32f1xx_hal_rcc_ex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f1xx_hal_gpio.c
+  $(ST_CMSIS)/Source/Templates/system_stm32f1xx.c \
+  $(ST_HAL_DRIVER)/Src/stm32f1xx_hal.c \
+  $(ST_HAL_DRIVER)/Src/stm32f1xx_hal_cortex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f1xx_hal_rcc.c \
+  $(ST_HAL_DRIVER)/Src/stm32f1xx_hal_rcc_ex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f1xx_hal_gpio.c
 
 SRC_S += \
-	$(ST_CMSIS)/Source/Templates/gcc/startup_stm32f103xb.s
+  $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f103xb.s
 
 INC += \
-	$(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
-	$(TOP)/$(ST_CMSIS)/Include \
-	$(TOP)/$(ST_HAL_DRIVER)/Inc \
-	$(TOP)/hw/bsp/$(BOARD)
+  $(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
+  $(TOP)/$(ST_CMSIS)/Include \
+  $(TOP)/$(ST_HAL_DRIVER)/Inc \
+  $(TOP)/hw/bsp/$(BOARD)
 
 # For TinyUSB port source
 VENDOR = st

+ 20 - 19
hw/bsp/stm32f207nucleo/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-	-DHSE_VALUE=8000000 \
-	-DSTM32F207xx \
-	-mthumb \
-	-mabi=aapcs \
-	-mcpu=cortex-m3 \
-	-mfloat-abi=soft \
-	-nostdlib -nostartfiles \
-	-DCFG_TUSB_MCU=OPT_MCU_STM32F2
+  -flto \
+  -mthumb \
+  -mabi=aapcs \
+  -mcpu=cortex-m3 \
+  -mfloat-abi=soft \
+  -nostdlib -nostartfiles \
+  -DSTM32F207xx \
+  -DHSE_VALUE=8000000 \
+  -DCFG_TUSB_MCU=OPT_MCU_STM32F2
 
 # mcu driver cause following warnings
 CFLAGS += -Wno-error=sign-compare
@@ -18,21 +19,21 @@ ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F2xx
 LD_FILE = hw/bsp/$(BOARD)/STM32F207ZGTx_FLASH.ld
 
 SRC_C += \
-	$(ST_CMSIS)/Source/Templates/system_stm32f2xx.c \
-	$(ST_HAL_DRIVER)/Src/stm32f2xx_hal.c \
-	$(ST_HAL_DRIVER)/Src/stm32f2xx_hal_cortex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f2xx_hal_rcc.c \
-	$(ST_HAL_DRIVER)/Src/stm32f2xx_hal_rcc_ex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f2xx_hal_gpio.c
+  $(ST_CMSIS)/Source/Templates/system_stm32f2xx.c \
+  $(ST_HAL_DRIVER)/Src/stm32f2xx_hal.c \
+  $(ST_HAL_DRIVER)/Src/stm32f2xx_hal_cortex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f2xx_hal_rcc.c \
+  $(ST_HAL_DRIVER)/Src/stm32f2xx_hal_rcc_ex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f2xx_hal_gpio.c
 
 SRC_S += \
-	$(ST_CMSIS)/Source/Templates/gcc/startup_stm32f207xx.s
+  $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f207xx.s
 
 INC += \
-	$(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
-	$(TOP)/$(ST_CMSIS)/Include \
-	$(TOP)/$(ST_HAL_DRIVER)/Inc \
-	$(TOP)/hw/bsp/$(BOARD)
+  $(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
+  $(TOP)/$(ST_CMSIS)/Include \
+  $(TOP)/$(ST_HAL_DRIVER)/Inc \
+  $(TOP)/hw/bsp/$(BOARD)
 
 # For TinyUSB port source
 VENDOR = st

+ 21 - 20
hw/bsp/stm32f303disco/board.mk

@@ -1,13 +1,14 @@
 CFLAGS += \
-	-DHSE_VALUE=8000000 \
-	-DSTM32F303xC \
-	-mthumb \
-	-mabi=aapcs \
-	-mcpu=cortex-m4 \
-	-mfloat-abi=hard \
-	-mfpu=fpv4-sp-d16 \
-	-nostdlib -nostartfiles \
-	-DCFG_TUSB_MCU=OPT_MCU_STM32F3
+  -flto \
+  -mthumb \
+  -mabi=aapcs \
+  -mcpu=cortex-m4 \
+  -mfloat-abi=hard \
+  -mfpu=fpv4-sp-d16 \
+  -nostdlib -nostartfiles \
+  -DSTM32F303xC \
+  -DHSE_VALUE=8000000 \
+  -DCFG_TUSB_MCU=OPT_MCU_STM32F3
 
 # mcu driver cause following warnings
 CFLAGS += -Wno-error=unused-parameter
@@ -19,21 +20,21 @@ ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32F3xx
 LD_FILE = hw/bsp/$(BOARD)/STM32F303VCTx_FLASH.ld
 
 SRC_C += \
-	$(ST_CMSIS)/Source/Templates/system_stm32f3xx.c \
-	$(ST_HAL_DRIVER)/Src/stm32f3xx_hal.c \
-	$(ST_HAL_DRIVER)/Src/stm32f3xx_hal_cortex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f3xx_hal_rcc.c \
-	$(ST_HAL_DRIVER)/Src/stm32f3xx_hal_rcc_ex.c \
-	$(ST_HAL_DRIVER)/Src/stm32f3xx_hal_gpio.c
+  $(ST_CMSIS)/Source/Templates/system_stm32f3xx.c \
+  $(ST_HAL_DRIVER)/Src/stm32f3xx_hal.c \
+  $(ST_HAL_DRIVER)/Src/stm32f3xx_hal_cortex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f3xx_hal_rcc.c \
+  $(ST_HAL_DRIVER)/Src/stm32f3xx_hal_rcc_ex.c \
+  $(ST_HAL_DRIVER)/Src/stm32f3xx_hal_gpio.c
 
 SRC_S += \
-	$(ST_CMSIS)/Source/Templates/gcc/startup_stm32f303xc.s
+  $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f303xc.s
 
 INC += \
-	$(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
-	$(TOP)/$(ST_CMSIS)/Include \
-	$(TOP)/$(ST_HAL_DRIVER)/Inc \
-	$(TOP)/hw/bsp/$(BOARD)
+  $(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
+  $(TOP)/$(ST_CMSIS)/Include \
+  $(TOP)/$(ST_HAL_DRIVER)/Inc \
+  $(TOP)/hw/bsp/$(BOARD)
 
 # For TinyUSB port source
 VENDOR = st

+ 3 - 2
hw/bsp/stm32f407disco/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=8000000 \
-  -DSTM32F407xx \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32F407xx \
+  -DHSE_VALUE=8000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32F4
 
 ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver

+ 3 - 2
hw/bsp/stm32f411disco/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=8000000 \
-  -DSTM32F411xE \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32F411xE \
+  -DHSE_VALUE=8000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32F4
 
 ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32F4xx_HAL_Driver

+ 3 - 2
hw/bsp/stm32f412disco/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=8000000 \
-  -DSTM32F412Zx \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32F412Zx \
+  -DHSE_VALUE=8000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32F4
 
 # mcu driver cause following warnings

+ 3 - 2
hw/bsp/stm32f767nucleo/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=8000000 \
-  -DSTM32F767xx \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m7 \
   -mfloat-abi=hard \
   -mfpu=fpv5-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32F767xx \
+  -DHSE_VALUE=8000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32F7
 
 # mcu driver cause following warnings

+ 3 - 2
hw/bsp/stm32h743nucleo/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=8000000 \
-  -DSTM32H743xx \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m7 \
   -mfloat-abi=hard \
   -mfpu=fpv5-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32H743xx \
+  -DHSE_VALUE=8000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32H7
 
 # mcu driver cause following warnings

+ 21 - 20
hw/bsp/stm32l0538disco/board.mk

@@ -1,13 +1,14 @@
 CFLAGS += \
-	-DHSE_VALUE=8000000 \
-	-DSTM32L053xx \
-	-mthumb \
-	-mabi=aapcs \
-	-mcpu=cortex-m0plus \
-	-mfloat-abi=soft \
-	-nostdlib -nostartfiles \
-	-DCFG_EXAMPLE_MSC_READONLY \
-	-DCFG_TUSB_MCU=OPT_MCU_STM32L0
+  -flto \
+  -mthumb \
+  -mabi=aapcs \
+  -mcpu=cortex-m0plus \
+  -mfloat-abi=soft \
+  -nostdlib -nostartfiles \
+  -DSTM32L053xx \
+  -DHSE_VALUE=8000000 \
+  -DCFG_EXAMPLE_MSC_READONLY \
+  -DCFG_TUSB_MCU=OPT_MCU_STM32L0
 
 # mcu driver cause following warnings
 CFLAGS += -Wno-error=unused-parameter -Wno-error=maybe-uninitialized
@@ -19,21 +20,21 @@ ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32L0xx
 LD_FILE = hw/bsp/$(BOARD)/STM32L053C8Tx_FLASH.ld
 
 SRC_C += \
-	$(ST_CMSIS)/Source/Templates/system_stm32l0xx.c \
-	$(ST_HAL_DRIVER)/Src/stm32l0xx_hal.c \
-	$(ST_HAL_DRIVER)/Src/stm32l0xx_hal_cortex.c \
-	$(ST_HAL_DRIVER)/Src/stm32l0xx_hal_rcc.c \
-	$(ST_HAL_DRIVER)/Src/stm32l0xx_hal_rcc_ex.c \
-	$(ST_HAL_DRIVER)/Src/stm32l0xx_hal_gpio.c
+  $(ST_CMSIS)/Source/Templates/system_stm32l0xx.c \
+  $(ST_HAL_DRIVER)/Src/stm32l0xx_hal.c \
+  $(ST_HAL_DRIVER)/Src/stm32l0xx_hal_cortex.c \
+  $(ST_HAL_DRIVER)/Src/stm32l0xx_hal_rcc.c \
+  $(ST_HAL_DRIVER)/Src/stm32l0xx_hal_rcc_ex.c \
+  $(ST_HAL_DRIVER)/Src/stm32l0xx_hal_gpio.c
 
 SRC_S += \
-	$(ST_CMSIS)/Source/Templates/gcc/startup_stm32l053xx.s
+  $(ST_CMSIS)/Source/Templates/gcc/startup_stm32l053xx.s
 
 INC += \
-	$(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
-	$(TOP)/$(ST_CMSIS)/Include \
-	$(TOP)/$(ST_HAL_DRIVER)/Inc \
-	$(TOP)/hw/bsp/$(BOARD)
+  $(TOP)/hw/mcu/st/st_driver/CMSIS/Include \
+  $(TOP)/$(ST_CMSIS)/Include \
+  $(TOP)/$(ST_HAL_DRIVER)/Inc \
+  $(TOP)/hw/bsp/$(BOARD)
 
 # For TinyUSB port source
 VENDOR = st

+ 3 - 2
hw/bsp/stm32l476disco/board.mk

@@ -1,12 +1,13 @@
 CFLAGS += \
-  -DHSE_VALUE=8000000 \
-  -DSTM32L476xx \
+  -flto \
   -mthumb \
   -mabi=aapcs \
   -mcpu=cortex-m4 \
   -mfloat-abi=hard \
   -mfpu=fpv4-sp-d16 \
   -nostdlib -nostartfiles \
+  -DSTM32L476xx \
+  -DHSE_VALUE=8000000 \
   -DCFG_TUSB_MCU=OPT_MCU_STM32L4
 
 ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32L4xx_HAL_Driver