@@ -15,7 +15,7 @@ set(CMSIS_5 ${TOP}/lib/CMSIS_5)
1515include (${CMAKE_CURRENT_LIST_DIR} /boards/${BOARD} /board.cmake)
1616
1717# toolchain set up
18- set (CMAKE_SYSTEM_PROCESSOR cortex-m0plus CACHE INTERNAL "System Processor" )
18+ set (CMAKE_SYSTEM_PROCESSOR cortex-m33 CACHE INTERNAL "System Processor" )
1919set (CMAKE_TOOLCHAIN_FILE ${TOP} /examples/build_system/cmake/toolchain/arm_${TOOLCHAIN} .cmake)
2020
2121set (FAMILY_MCUS STM32H5 CACHE INTERNAL "" )
@@ -26,52 +26,52 @@ set(FAMILY_MCUS STM32H5 CACHE INTERNAL "")
2626#------------------------------------
2727# only need to be built ONCE for all examples
2828function (add_board_target BOARD_TARGET)
29- if (NOT TARGET ${BOARD_TARGET} )
30- # Startup & Linker script
31- set (STARTUP_FILE_GNU ${ST_CMSIS} /Source /Templates/gcc/startup_${MCU_VARIANT} .s)
32- set (STARTUP_FILE_IAR ${ST_CMSIS} /Source /Templates/iar/startup_${MCU_VARIANT} .s)
33- set (LD_FILE_IAR ${ST_CMSIS} /Source /Templates/iar/linker/${MCU_VARIANT} _flash.icf)
34-
35- add_library (${BOARD_TARGET} STATIC
36- ${ST_CMSIS} /Source /Templates/system_${ST_PREFIX} .c
37- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal.c
38- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_cortex.c
39- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_pwr.c
40- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_pwr_ex.c
41- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_rcc.c
42- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_rcc_ex.c
43- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_gpio.c
44- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_uart.c
45- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_uart_ex.c
46- ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_dma.c
47- ${STARTUP_FILE_${CMAKE_C_COMPILER_ID} }
48- )
49- target_include_directories (${BOARD_TARGET} PUBLIC
50- ${CMAKE_CURRENT_FUNCTION_LIST_DIR}
51- ${CMSIS_5} /CMSIS/Core/Include
52- ${ST_CMSIS} /Include
53- ${ST_HAL_DRIVER} /Inc
54- )
55- target_compile_options (${BOARD_TARGET} PUBLIC
29+ if (TARGET ${BOARD_TARGET} )
30+ return ()
31+ endif ()
32+
33+ # Startup & Linker script
34+ set (STARTUP_FILE_GNU ${ST_CMSIS} /Source /Templates/gcc/startup_${MCU_VARIANT} .s)
35+ set (STARTUP_FILE_IAR ${ST_CMSIS} /Source /Templates/iar/startup_${MCU_VARIANT} .s)
36+ set (LD_FILE_IAR ${ST_CMSIS} /Source /Templates/iar/linker/${MCU_VARIANT} _flash.icf)
37+
38+ string (REPLACE "stm32h" "STM32H" MCU_VARIANT_UPPER ${MCU_VARIANT} )
39+ set (LD_FILE_GNU ${ST_CMSIS} /Source /Templates/gcc/linker/${MCU_VARIANT_UPPER} _FLASH.ld)
40+
41+ add_library (${BOARD_TARGET} STATIC
42+ ${ST_CMSIS} /Source /Templates/system_${ST_PREFIX} .c
43+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal.c
44+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_cortex.c
45+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_gpio.c
46+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_pwr.c
47+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_pwr_ex.c
48+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_rcc.c
49+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_rcc_ex.c
50+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_uart.c
51+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_uart_ex.c
52+ ${ST_HAL_DRIVER} /Src/${ST_PREFIX} _hal_dma.c
53+ ${STARTUP_FILE_${CMAKE_C_COMPILER_ID} }
54+ )
55+ target_include_directories (${BOARD_TARGET} PUBLIC
56+ ${CMAKE_CURRENT_FUNCTION_LIST_DIR}
57+ ${CMSIS_5} /CMSIS/Core/Include
58+ ${ST_CMSIS} /Include
59+ ${ST_HAL_DRIVER} /Inc
60+ )
61+
62+ update_board(${BOARD_TARGET} )
63+
64+ if (CMAKE_C_COMPILER_ID STREQUAL "GNU" )
65+ target_link_options (${BOARD_TARGET} PUBLIC
66+ "LINKER:--script=${LD_FILE_GNU} "
67+ -nostartfiles
68+ # nanolib
69+ --specs=nosys.specs --specs=nano.specs
5670 )
57- target_compile_definitions (${BOARD_TARGET} PUBLIC
71+ elseif (CMAKE_C_COMPILER_ID STREQUAL "IAR" )
72+ target_link_options (${BOARD_TARGET} PUBLIC
73+ "LINKER:--config=${LD_FILE_IAR} "
5874 )
59-
60- update_board(${BOARD_TARGET} )
61-
62- if (CMAKE_C_COMPILER_ID STREQUAL "GNU" )
63- target_link_options (${BOARD_TARGET} PUBLIC
64- "LINKER:--script=${LD_FILE_GNU} "
65- -nostartfiles
66- # nanolib
67- --specs=nosys.specs
68- --specs=nano.specs
69- )
70- elseif (CMAKE_C_COMPILER_ID STREQUAL "IAR" )
71- target_link_options (${BOARD_TARGET} PUBLIC
72- "LINKER:--config=${LD_FILE_IAR} "
73- )
74- endif ()
7575 endif ()
7676endfunction ()
7777
@@ -112,5 +112,5 @@ function(family_configure_example TARGET RTOS)
112112
113113 # Flashing
114114 family_flash_stlink(${TARGET} )
115- # family_flash_jlink(${TARGET})
115+ family_flash_jlink(${TARGET} )
116116endfunction ()
0 commit comments