zephyr/boards/st/stm32l562e_dk/board.cmake
Abderrahmane Jarmouni e17e54c48f boards: stm32: add flashing with stm32cubeprog for all
Add STM32CubeProgrammer where it is not available, & make it
default flashing method by placing it 1st in board.cmake

Before this change, the west runner that's selected when calling
'westflash' without the '--runner ...' option is kind of arbitrary
& depends on which runner is 1st in board.cmake file.

Another reason this change is needed is that STM32CubeProg is the only
available way to check/modify Option Bytes, and to flash code to
external Flash on many STM32 boards.

This change does not affect 'west debug' behavior, which defaults to
the debugger (OpenOCD/JLink) that is included first in board.cmake

Signed-off-by: Abderrahmane Jarmouni <git@jarmouni.me>
2024-09-09 15:25:31 +03:00

22 lines
781 B
CMake

# SPDX-License-Identifier: Apache-2.0
if(CONFIG_BUILD_WITH_TFM)
set(TFM_FLASH_BASE_ADDRESS 0x0C000000)
# Flash merged TF-M + Zephyr binary
set_property(TARGET runners_yaml_props_target PROPERTY hex_file tfm_merged.hex)
if (CONFIG_HAS_FLASH_LOAD_OFFSET)
MATH(EXPR TFM_HEX_BASE_ADDRESS_NS "${TFM_FLASH_BASE_ADDRESS}+${CONFIG_FLASH_LOAD_OFFSET}")
else()
set(TFM_HEX_BASE_ADDRESS_NS ${TFM_TFM_FLASH_BASE_ADDRESS})
endif()
endif()
# keep first
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
board_runner_args(pyocd "--target=stm32l562qeixq")
# keep first
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)