summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-01-17 16:20:04 +0700
committerhathach <[email protected]>2023-01-17 16:20:04 +0700
commit3fee8b402e3efefc341a0c1ce0474deb748858b2 (patch)
tree68c22eb77cc0f4b229c4004d6e9516a641b6f9bb /hw
parentfa9d19027be7caa8dda2ab81ce8fda8b7f586a58 (diff)
update makefile to support iar build starting with stm32f070
Diffstat (limited to 'hw')
-rw-r--r--hw/bsp/stm32f0/boards/stm32f070rbnucleo/board.mk6
-rw-r--r--hw/bsp/stm32f0/family.c2
-rw-r--r--hw/bsp/stm32f0/family.mk17
3 files changed, 19 insertions, 6 deletions
diff --git a/hw/bsp/stm32f0/boards/stm32f070rbnucleo/board.mk b/hw/bsp/stm32f0/boards/stm32f070rbnucleo/board.mk
index 7c0ee40b6..242b5a034 100644
--- a/hw/bsp/stm32f0/boards/stm32f070rbnucleo/board.mk
+++ b/hw/bsp/stm32f0/boards/stm32f070rbnucleo/board.mk
@@ -1,11 +1,13 @@
CFLAGS += -DSTM32F070xB -DCFG_EXAMPLE_VIDEO_READONLY
+SRC_S += $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f070xb.s
LD_FILE = $(BOARD_PATH)/stm32F070rbtx_flash.ld
-SRC_S += $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f070xb.s
+IAR_SRC_S += $(ST_CMSIS)/Source/Templates/iar/startup_stm32f070xb.s
+IAR_LD_FILE = $(ST_CMSIS)/Source/Templates/iar/linker/stm32f070xb_flash.icf
# For flash-jlink target
JLINK_DEVICE = stm32f070rb
# flash target using on-board stlink
-flash: flash-stlink
+flash: flash-stlink \ No newline at end of file
diff --git a/hw/bsp/stm32f0/family.c b/hw/bsp/stm32f0/family.c
index 8de3147e2..806c4af51 100644
--- a/hw/bsp/stm32f0/family.c
+++ b/hw/bsp/stm32f0/family.c
@@ -153,7 +153,7 @@ uint32_t board_millis(void)
void HardFault_Handler (void)
{
- asm("bkpt");
+ __asm("BKPT #0\n");
}
#ifdef USE_FULL_ASSERT
diff --git a/hw/bsp/stm32f0/family.mk b/hw/bsp/stm32f0/family.mk
index 39831e154..a81ab426f 100644
--- a/hw/bsp/stm32f0/family.mk
+++ b/hw/bsp/stm32f0/family.mk
@@ -8,17 +8,28 @@ ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver
include $(TOP)/$(BOARD_PATH)/board.mk
CFLAGS += \
+ -DCFG_EXAMPLE_MSC_READONLY \
+ -DCFG_TUSB_MCU=OPT_MCU_STM32F0
+
+# --------------
+# GCC Flags
+# --------------
+GCC_CFLAGS += \
-flto \
-mthumb \
-mabi=aapcs \
-mcpu=cortex-m0 \
-mfloat-abi=soft \
-nostdlib -nostartfiles \
- -DCFG_EXAMPLE_MSC_READONLY \
- -DCFG_TUSB_MCU=OPT_MCU_STM32F0
# suppress warning caused by vendor mcu driver
-CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align -Wno-error=cast-qual
+GCC_CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align -Wno-error=cast-qual
+
+# --------------
+# IAR Flags
+# --------------
+IAR_CFLAGS += --cpu cortex-m0
+IAR_ASFLAGS += --cpu cortex-m0
SRC_C += \
src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c \