@@ -7,6 +7,7 @@ cmake_minimum_required(VERSION 3.10)
77# Configuration
88# ======================================================================
99set (TARGET "STM32F746xG" CACHE STRING "Target microcontroller" )
10+ set (BOARD "" CACHE STRING "Board name (optional). If set, TARGET is derived from configs/board/<BOARD>/board.cmake" )
1011set (STARTUP_DMP_FILE "" CACHE FILEPATH "Optional startup.dmp file to embed in ROM" )
1112set (USER_DATA_FILE "" CACHE FILEPATH "Optional user_data file to embed in ROM" )
1213set (DMBOOT_CONFIG_DIR "${CMAKE_BINARY_DIR} /configs" CACHE PATH "Config directory to mount as /configs/ using dmffs (defaults to build/configs)" )
@@ -18,6 +19,12 @@ option(DMBOOT_EMULATION "Enable Renode emulation mode" OFF)
1819set (DMOD_DIR "${CMAKE_CURRENT_SOURCE_DIR} /lib/dmod" )
1920include (configs/dmod-cfg.cmake )
2021include (configs/dmvfs-cfg.cmake )
22+
23+ # If BOARD is specified, read TARGET from board.cmake
24+ if (BOARD)
25+ include (configs/board/${BOARD}/board.cmake )
26+ endif ()
27+
2128include (configs/mcu/${TARGET}.cmake )
2229
2330# Include toolchain configuration before project() to set compilers
@@ -139,7 +146,7 @@ target_link_options(${MODULE_NAME}.elf
139146 PRIVATE
140147 -L${DMOD_DIR}/scripts
141148 -T${CMAKE_CURRENT_SOURCE_DIR}/configs/arch/${DMBOOT_ARCH}/arch.ld
142- -T${CMAKE_CURRENT_SOURCE_DIR}/configs/mcu/${DMBOOT_MCU_SERIES}/${DMBOOT_MCU_NAME}.ld
149+ -T${CMAKE_CURRENT_SOURCE_DIR}/configs/mcu/${DMBOOT_MCU_SERIES}/${DMBOOT_MCU_NAME}/mcu .ld
143150 -T${CMAKE_CURRENT_SOURCE_DIR}/linker/common.ld
144151 -Wl,-Map=${MODULE_NAME}.map
145152)
0 commit comments