Skip to content

Commit 7a3462d

Browse files
Marti BolivarAnas Nashif
Marti Bolivar
authored and
Anas Nashif
committed
scripts: runner: use arguments, not environment vars
The various runners (flash/debug scripts) use environment variables to take arguments. This is legacy behavior which is not desirable. Use command line arguments instead. Note: this leaves more general environment variables with publicly documented behavior in place for now, for compatibility, e.g.: ZEPHYR_FLASH_OVER_DFU, OPENSDA_FW, ESP_IDF_PATH, PYOCD_DAPARG For example, when using dfu-util to flash arduino_101, instead of setting DFUUTIL_PID, DFUUTIL_ALT, and DFUUTIL_IMG environment variables, have the script invocation look like this: python3 .../zephyr_flash_debug.py dfu-util flash \ [common arguments omitted] \ --pid=8087:0aba --alt=x86_app \ --img=.../build/zephyr/zephyr.bin Make similar changes for other runners (openocd, etc.) and targets (debug, debugserver). To implement this in the scripts: - have the individual scripts/support/runner/some-runner.py files register their own command line arguments - teach them to construct instances from arguments, not the environment - have zephyr_flash_debug.py request runners to register command line argument parsers, and handle arguments In the build system: - add a new board_runner_args() extension function that board.cmake files can use to add to the zephyr_flash_debug.py command line - adjust cmake/flash/CMakeLists.txt to invoke with arguments - add new helper include files for each runner (like boards/common/dfu-util.board.cmake, etc.), which add default options as needed and then add on overrides from board_runner_args() calls - update board.cmake files to use the new includes and extension This implied some tweaking when using openocd to make the CMake string escaping and unescaping work properly. Signed-off-by: Marti Bolivar <[email protected]>
1 parent 94290ee commit 7a3462d

File tree

54 files changed

+620
-863
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+620
-863
lines changed
+5-20
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,14 @@
11
if(DEFINED ENV{ZEPHYR_FLASH_OVER_DFU})
22
set(BOARD_FLASH_RUNNER dfu-util)
3-
4-
set(DFUUTIL_PID 8087:0aba)
5-
set(DFUUTIL_ALT sensor_core)
6-
set(DFUUTIL_IMG ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME})
7-
8-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
9-
DFUUTIL_PID
10-
DFUUTIL_ALT
11-
DFUUTIL_IMG
12-
)
133
else()
144
set(BOARD_FLASH_RUNNER openocd)
155
endif()
166

177
set(BOARD_DEBUG_RUNNER openocd)
188

19-
set(OPENOCD_PRE_CMD "targets 1")
20-
set(OPENOCD_LOAD_CMD "load_image ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
21-
set(OPENOCD_VERIFY_CMD "verify_image ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
22-
set(GDB_PORT 3334)
9+
board_runner_args(dfu-util "--pid=8087:0aba" "--alt=sensor_core")
10+
set(PRE_LOAD targets 1)
11+
board_runner_args(openocd "--cmd-pre-load=\"${PRE_LOAD}\"" "--gdb-port=3334")
2312

24-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
25-
OPENOCD_PRE_CMD
26-
OPENOCD_LOAD_CMD
27-
OPENOCD_VERIFY_CMD
28-
GDB_PORT
29-
)
13+
include($ENV{ZEPHYR_BASE}/boards/common/dfu-util.board.cmake)
14+
include($ENV{ZEPHYR_BASE}/boards/common/openocd.board.cmake)

boards/arc/em_starterkit/board.cmake

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1+
# TODO: can this board just use the usual openocd runner?
12
set(BOARD_FLASH_RUNNER em-starterkit)
23
set(BOARD_DEBUG_RUNNER em-starterkit)
3-
4-
set(OPENOCD_LOAD_CMD "load_image ${PROJECT_BINARY_DIR}/${KERNEL_ELF_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
5-
set(OPENOCD_VERIFY_CMD "verify_image ${PROJECT_BINARY_DIR}/${KERNEL_ELF_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
6-
7-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
8-
OPENOCD_LOAD_CMD
9-
OPENOCD_VERIFY_CMD
10-
)
4+
board_finalize_runner_args(em-starterkit)

boards/arc/panther_ss/board.cmake

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1+
set(PRE_LOAD targets 1)
2+
board_runner_args(openocd "--cmd-pre-load=\"${PRE_LOAD}\"")
3+
set(OPENOCD_USE_LOAD_IMAGE NO)
14
include($ENV{ZEPHYR_BASE}/boards/common/openocd.board.cmake)
2-
3-
set(OPENOCD_PRE_CMD "targets 1")
4-
5-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
6-
OPENOCD_PRE_CMD
7-
)
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1+
set(PRE_LOAD targets 1)
2+
board_runner_args(openocd "--cmd-pre-load=\"${PRE_LOAD}\"")
13
include($ENV{ZEPHYR_BASE}/boards/common/openocd.board.cmake)
2-
3-
set(OPENOCD_PRE_CMD "targets 1")
4-
set(OPENOCD_LOAD_CMD "load_image ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
5-
6-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
7-
OPENOCD_PRE_CMD
8-
)

boards/arm/96b_carbon/board.cmake

+3-12
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
1-
set(BOARD_FLASH_RUNNER dfu-util)
1+
board_runner_args(dfu-util "--pid=0483:df11" "--alt=0")
2+
board_runner_args(dfu-util "--dfuse-addr=${CONFIG_FLASH_BASE_ADDRESS}")
23

3-
set(DFUUTIL_PID 0483:df11)
4-
set(DFUUTIL_ALT 0)
5-
set(DFUUTIL_IMG ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME})
6-
set(DFUUTIL_DFUSE_ADDR ${CONFIG_FLASH_BASE_ADDRESS})
7-
8-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
9-
DFUUTIL_PID
10-
DFUUTIL_ALT
11-
DFUUTIL_IMG
12-
DFUUTIL_DFUSE_ADDR
13-
)
4+
include($ENV{ZEPHYR_BASE}/boards/common/dfu-util.board.cmake)

boards/arm/96b_nitrogen/board.cmake

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,2 @@
1-
set(BOARD_FLASH_RUNNER pyocd)
2-
set(BOARD_DEBUG_RUNNER pyocd)
3-
4-
set(PYOCD_TARGET nrf52)
5-
6-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
7-
PYOCD_TARGET
8-
)
1+
board_runner_args(pyocd "--target=nrf52")
2+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
+2-13
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,2 @@
1-
if(DEFINED ENV{ZEPHYR_FLASH_OVER_DFU})
2-
set(BOARD_FLASH_RUNNER dfu-util)
3-
4-
set(DFUUTIL_PID 8087:0aba)
5-
set(DFUUTIL_ALT ble_core)
6-
set(DFUUTIL_IMG ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME})
7-
8-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
9-
DFUUTIL_PID
10-
DFUUTIL_ALT
11-
DFUUTIL_IMG
12-
)
13-
endif()
1+
board_runner_args(dfu-util "--pid=8087:0aba" "--alt=ble_core")
2+
include($ENV{ZEPHYR_BASE}/boards/common/dfu-util.board.cmake)

boards/arm/arduino_due/board.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
set(BOARD_FLASH_RUNNER bossac)
1+
include($ENV{ZEPHYR_BASE}/boards/common/bossac.board.cmake)

boards/arm/bbc_microbit/board.cmake

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,2 @@
1-
set(BOARD_FLASH_RUNNER pyocd)
2-
set(BOARD_DEBUG_RUNNER pyocd)
3-
4-
set(PYOCD_TARGET nrf51)
5-
6-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
7-
PYOCD_TARGET
8-
)
1+
board_runner_args(pyocd "--target=nrf51")
2+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)

boards/arm/frdm_k64f/board.cmake

+5-10
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,9 @@ elseif(OPENSDA_FW STREQUAL daplink)
77
set_ifndef(BOARD_FLASH_RUNNER pyocd)
88
endif()
99

10-
set(JLINK_DEVICE MK64FN1M0xxx12)
11-
set(PYOCD_TARGET k64f)
12-
set(OPENOCD_LOAD_CMD "flash write_image erase ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
13-
set(OPENOCD_VERIFY_CMD "verify_image ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
10+
board_runner_args(jlink "--device=MK64FN1M0xxx12")
11+
board_runner_args(pyocd "--target=k64f")
1412

15-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
16-
JLINK_DEVICE
17-
PYOCD_TARGET
18-
OPENOCD_LOAD_CMD
19-
OPENOCD_VERIFY_CMD
20-
)
13+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
14+
include($ENV{ZEPHYR_BASE}/boards/common/jlink.board.cmake)
15+
include($ENV{ZEPHYR_BASE}/boards/common/openocd.board.cmake)

boards/arm/frdm_kl25z/board.cmake

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ elseif(OPENSDA_FW STREQUAL daplink)
77
set_ifndef(BOARD_FLASH_RUNNER pyocd)
88
endif()
99

10-
set(JLINK_DEVICE MKL25Z128xxx4)
11-
set(PYOCD_TARGET kl25z)
10+
board_runner_args(jlink "--device=MKL25Z128xxx4")
11+
board_runner_args(pyocd "--target=kl25z")
1212

13-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
14-
JLINK_DEVICE
15-
PYOCD_TARGET
16-
)
13+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
14+
include($ENV{ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/arm/frdm_kw41z/board.cmake

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ elseif(OPENSDA_FW STREQUAL daplink)
77
set_ifndef(BOARD_FLASH_RUNNER pyocd)
88
endif()
99

10-
set(JLINK_DEVICE MKW41Z512xxx4)
11-
set(PYOCD_TARGET kw41z4)
10+
board_runner_args(jlink "--device=MKW41Z512xxx4")
11+
board_runner_args(pyocd "--target=kw41z4")
1212

13-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
14-
JLINK_DEVICE
15-
PYOCD_TARGET
16-
)
13+
include($ENV{ZEPHYR_BASE}/boards/common/jlink.board.cmake)
14+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)

boards/arm/hexiwear_k64/board.cmake

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ elseif(OPENSDA_FW STREQUAL daplink)
77
set_ifndef(BOARD_FLASH_RUNNER pyocd)
88
endif()
99

10-
set(JLINK_DEVICE MK64FN1M0xxx12)
11-
set(PYOCD_TARGET k64f)
10+
board_runner_args(pyocd "--target=k64f")
11+
board_runner_args(jlink "--device=MK64FN1M0xxx12")
1212

13-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
14-
JLINK_DEVICE
15-
PYOCD_TARGET
16-
)
13+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
14+
include($ENV{ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/arm/hexiwear_kw40z/board.cmake

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ elseif(OPENSDA_FW STREQUAL daplink)
77
set_ifndef(BOARD_FLASH_RUNNER pyocd)
88
endif()
99

10-
set(JLINK_DEVICE MKW40Z160xxx4)
11-
set(PYOCD_TARGET kw40z4)
10+
board_runner_args(jlink "--device=MKW40Z160xxx4")
11+
board_runner_args(pyocd "--target=kw40z4")
1212

13-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
14-
JLINK_DEVICE
15-
PYOCD_TARGET
16-
)
13+
include($ENV{ZEPHYR_BASE}/boards/common/jlink.board.cmake)
14+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)

boards/arm/mimxrt1050_evk/board.cmake

+2-11
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,5 @@
44
# SPDX-License-Identifier: Apache-2.0
55
#
66

7-
set_ifndef(OPENSDA_FW jlink)
8-
9-
if(OPENSDA_FW STREQUAL jlink)
10-
set_ifndef(BOARD_DEBUG_RUNNER jlink)
11-
endif()
12-
13-
set(JLINK_DEVICE Cortex-M7)
14-
15-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
16-
JLINK_DEVICE
17-
)
7+
board_runner_args(jlink "--device=Cortex-M7")
8+
include($ENV{ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/arm/nrf51_pca10028/board.cmake

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
1-
set(BOARD_FLASH_RUNNER nrfjprog)
2-
3-
set(NRF_FAMILY NRF51)
4-
5-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
6-
NRF_FAMILY
7-
)
1+
board_runner_args(nrfjprog "--nrf-family=NRF51")
2+
include($ENV{ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)

boards/arm/nrf51_vbluno51/board.cmake

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,2 @@
1-
set(BOARD_FLASH_RUNNER pyocd)
2-
set(BOARD_DEBUG_RUNNER pyocd)
3-
4-
set(PYOCD_TARGET nrf51)
5-
6-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
7-
PYOCD_TARGET
8-
)
1+
board_runner_args(pyocd "--target=nrf51")
2+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
+2-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,2 @@
1-
set(BOARD_FLASH_RUNNER nrfjprog)
2-
set(NRF_FAMILY NRF52)
3-
4-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
5-
NRF_FAMILY
6-
)
1+
board_runner_args(nrfjprog "--nrf-family=NRF52")
2+
include($ENV{ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)

boards/arm/nrf52_blenano2/board.cmake

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,2 @@
1-
set(BOARD_FLASH_RUNNER pyocd)
2-
set(BOARD_DEBUG_RUNNER pyocd)
3-
4-
set(PYOCD_TARGET nrf52)
5-
6-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
7-
PYOCD_TARGET
8-
)
1+
board_runner_args(pyocd "--target=nrf52")
2+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)

boards/arm/nrf52_pca10040/board.cmake

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
1-
set(BOARD_FLASH_RUNNER nrfjprog)
2-
3-
set(NRF_FAMILY NRF52)
4-
5-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
6-
NRF_FAMILY
7-
)
1+
board_runner_args(nrfjprog "--nrf-family=NRF52")
2+
include($ENV{ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)

boards/arm/nrf52_vbluno52/board.cmake

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,2 @@
1-
set(BOARD_FLASH_RUNNER pyocd)
2-
set(BOARD_DEBUG_RUNNER pyocd)
3-
4-
set(PYOCD_TARGET nrf52)
5-
6-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
7-
PYOCD_TARGET
8-
)
1+
board_runner_args(pyocd "--target=nrf52")
2+
include($ENV{ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
+2-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1+
set(POST_VERIFY atsamv gpnvm set 1)
2+
board_runner_args(openocd "--cmd-post-verify=\"${POST_VERIFY}\"")
13
include($ENV{ZEPHYR_BASE}/boards/common/openocd.board.cmake)
2-
3-
set(OPENOCD_POST_CMD "atsamv gpnvm set 1")
4-
5-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
6-
OPENOCD_POST_CMD
7-
)

boards/arm/usb_kw24d512/board.cmake

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
set(BOARD_DEBUG_RUNNER jlink)
1+
board_runner_args(jlink "--device=MKW24D512xxx5")
22

3-
set(JLINK_DEVICE MKW24D512xxx5)
4-
5-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
6-
JLINK_DEVICE
7-
)
3+
include($ENV{ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/common/bossac.board.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set_ifndef(BOARD_FLASH_RUNNER bossac)
2+
board_finalize_runner_args(bossac) # No default arguments to provide.

boards/common/dfu-util.board.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set_ifndef(BOARD_FLASH_RUNNER dfu-util)
2+
board_finalize_runner_args(dfu-util) # No default arguments to provide.

boards/common/esp32.board.cmake

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set(BOARD_FLASH_RUNNER esp32)
2+
3+
if(NOT DEFINED ESP_IDF_PATH)
4+
if($ENV{ESP_IDF_PATH})
5+
message(WARNING "Setting ESP_IDF_PATH in the environment is deprecated. Use cmake -DESP_IDF_PATH=... instead.")
6+
set(ESP_IDF_PATH $ENV{ESP_IDF_PATH})
7+
endif()
8+
endif()
9+
10+
assert(ESP_IDF_PATH "ESP_IDF_PATH is not set")
11+
12+
board_finalize_runner_args(esp32 "--esp-idf-path=${ESP_IDF_PATH}")

boards/common/jlink.board.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set_ifndef(BOARD_DEBUG_RUNNER jlink)
2+
board_finalize_runner_args(jlink) # No default arguments to provide.

boards/common/nios2.board.cmake

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
set_ifndef(BOARD_FLASH_RUNNER nios2)
2+
set_ifndef(BOARD_DEBUG_RUNNER nios2)
3+
4+
board_finalize_runner_args(nios2
5+
# TODO: merge this script into nios2.py
6+
"--quartus-flash=$ENV{ZEPHYR_BASE}/scripts/support/quartus-flash.py"
7+
)

boards/common/nrfjprog.board.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set_ifndef(BOARD_FLASH_RUNNER nrfjprog)
2+
board_finalize_runner_args(nrfjprog) # No default arguments to provide.

boards/common/openocd.board.cmake

+28-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,31 @@
1-
set(BOARD_FLASH_RUNNER openocd)
2-
set(BOARD_DEBUG_RUNNER openocd)
1+
set_ifndef(BOARD_FLASH_RUNNER openocd)
2+
set_ifndef(BOARD_DEBUG_RUNNER openocd)
33

4-
set(OPENOCD_LOAD_CMD "flash write_image erase ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
5-
set(OPENOCD_VERIFY_CMD "verify_image ${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME} ${CONFIG_FLASH_BASE_ADDRESS}")
4+
# "load_image" or "flash write_image erase"?
5+
if(CONFIG_X86 OR CONFIG_ARC)
6+
set_ifndef(OPENOCD_USE_LOAD_IMAGE YES)
7+
endif()
8+
if(OPENOCD_USE_LOAD_IMAGE)
9+
set_ifndef(OPENOCD_FLASH load_image)
10+
else()
11+
set_ifndef(OPENOCD_FLASH flash write_image erase)
12+
endif()
613

7-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS
8-
OPENOCD_LOAD_CMD
9-
OPENOCD_VERIFY_CMD
14+
# zephyr.bin, or something else?
15+
set_ifndef(OPENOCD_IMAGE "${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME}")
16+
17+
# CONFIG_FLASH_BASE_ADDRESS, or something else?
18+
if(NOT DEFINED OPENOCD_ADDRESS)
19+
# This can't use set_ifndef() because CONFIG_FLASH_BASE_ADDRESS is
20+
# the empty string on some targets, which causes set_ifndef() to
21+
# choke.
22+
set(OPENOCD_ADDRESS "${CONFIG_FLASH_BASE_ADDRESS}")
23+
endif()
24+
25+
set(OPENOCD_CMD_LOAD_DEFAULT ${OPENOCD_FLASH} ${OPENOCD_IMAGE} ${OPENOCD_ADDRESS})
26+
set(OPENOCD_CMD_VERIFY_DEFAULT verify_image ${OPENOCD_IMAGE} ${OPENOCD_ADDRESS})
27+
28+
board_finalize_runner_args(openocd
29+
"--cmd-load=\"${OPENOCD_CMD_LOAD_DEFAULT}\""
30+
"--cmd-verify=\"${OPENOCD_CMD_VERIFY_DEFAULT}\""
1031
)

boards/common/pyocd.board.cmake

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
set_ifndef(BOARD_FLASH_RUNNER pyocd)
2+
set_ifndef(BOARD_DEBUG_RUNNER pyocd)
3+
board_finalize_runner_args(pyocd) # No default arguments to provide.

boards/nios2/altera_max10/board.cmake

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
set(BOARD_FLASH_RUNNER nios2)
2-
set(BOARD_DEBUG_RUNNER nios2)
3-
set(NIOS2_CPU_SOF $ENV{ZEPHYR_BASE}/arch/nios2/soc/nios2f-zephyr/cpu/ghrd_10m50da.sof)
4-
set_property(GLOBAL APPEND PROPERTY FLASH_SCRIPT_ENV_VARS NIOS2_CPU_SOF)
1+
board_runner_args(nios2 "--cpu-sof=$ENV{ZEPHYR_BASE}/arch/nios2/soc/nios2f-zephyr/cpu/ghrd_10m50da.sof")
2+
include($ENV{ZEPHYR_BASE}/boards/common/nios2.board.cmake)

0 commit comments

Comments
 (0)