1# SPDX-License-Identifier: Apache-2.0
2if(CONFIG_BUILD_WITH_TFM)
3  set(TFM_FLASH_BASE_ADDRESS 0x0C000000)
4
5  # Flash merged TF-M + Zephyr binary
6  set_property(TARGET runners_yaml_props_target PROPERTY hex_file tfm_merged.hex)
7
8  if (CONFIG_HAS_FLASH_LOAD_OFFSET)
9    MATH(EXPR TFM_HEX_BASE_ADDRESS_NS "${TFM_FLASH_BASE_ADDRESS}+${CONFIG_FLASH_LOAD_OFFSET}")
10  else()
11    set(TFM_HEX_BASE_ADDRESS_NS ${TFM_TFM_FLASH_BASE_ADDRESS})
12  endif()
13endif()
14
15# keep first
16if(CONFIG_STM32_MEMMAP)
17board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
18board_runner_args(stm32cubeprogrammer "--extload=MX25LM51245G_STM32U585I-IOT02A.stldr")
19else()
20board_runner_args(stm32cubeprogrammer "--erase" "--port=swd" "--reset-mode=hw")
21endif()
22
23board_runner_args(openocd "--tcl-port=6666")
24board_runner_args(openocd --cmd-pre-init "gdb_report_data_abort enable")
25board_runner_args(openocd "--no-halt")
26
27board_runner_args(jlink "--device=STM32U585AI" "--reset-after-load")
28
29# keep first
30include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
31# FIXME: openocd runner requires use of STMicro openocd fork.
32# Check board documentation for more details.
33include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
34include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
35