123456789101112131415161718192021222324252627282930313233343536 |
- # SPDX-License-Identifier: Apache-2.0
- # Infer nrf51 vs nrf52 etc from the BOARD name. This enforces a board
- # naming convention: "nrf5x" must appear somewhere in the board name
- # for this to work.
- #
- # Boards which don't meet this convention can set this variable before
- # including this script.
- if (NOT DEFINED OPENOCD_NRF5_SUBFAMILY)
- string(REGEX MATCH nrf5. OPENOCD_NRF5_SUBFAMILY "${BOARD}")
- endif()
- if("${OPENOCD_NRF5_SUBFAMILY}" STREQUAL "")
- message(FATAL_ERROR
- "Can't match nrf5 subfamily from BOARD name. "
- "To fix, set CMake variable OPENOCD_NRF5_SUBFAMILY.")
- endif()
- if (NOT DEFINED OPENOCD_NRF5_INTERFACE)
- set(OPENOCD_NRF5_INTERFACE "jlink")
- endif()
- # We can do the right thing for supported subfamilies using a generic
- # script, at least for openocd 0.10.0 and the openocd shipped with
- # Zephyr SDK 0.10.3.
- set(pre_init_cmds
- "set WORKAREASIZE 0x4000" # 16 kB RAM used for flashing
- "source [find interface/${OPENOCD_NRF5_INTERFACE}.cfg]"
- "transport select swd"
- "source [find target/${OPENOCD_NRF5_SUBFAMILY}.cfg]"
- )
- foreach(cmd ${pre_init_cmds})
- board_runner_args(openocd --cmd-pre-init "${cmd}")
- endforeach()
- include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
|