diff --git a/boards/common/openocd-stm32.board.cmake b/boards/common/openocd-stm32.board.cmake new file mode 100644 index 00000000000..855411fa34b --- /dev/null +++ b/boards/common/openocd-stm32.board.cmake @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: Apache-2.0 + +if(CONFIG_SOC_SERIES_STM32L0X OR CONFIG_SOC_SERIES_STM32L1X) + board_runner_args(openocd "--cmd-erase=stm32l1x mass_erase 0") +elseif(CONFIG_SOC_SERIES_STM32L4X OR + CONFIG_SOC_SERIES_STM32L5X OR + CONFIG_SOC_SERIES_STM32U5X OR + CONFIG_SOC_SERIES_STM32WBX OR + CONFIG_SOC_SERIES_STM32G0X OR + CONFIG_SOC_SERIES_STM32G4X) + board_runner_args(openocd "--cmd-erase=stm32l4x mass_erase 0") +elseif(CONFIG_SOC_SERIES_STM32F0X OR + CONFIG_SOC_SERIES_STM32F1X OR + CONFIG_SOC_SERIES_STM32F3X) + board_runner_args(openocd "--cmd-erase=stm32f1x mass_erase 0") +elseif(CONFIG_SOC_SERIES_STM32F2X OR + CONFIG_SOC_SERIES_STM32F4X OR + CONFIG_SOC_SERIES_STM32F7X) + board_runner_args(openocd "--cmd-erase=stm32f2x mass_erase 0") +endif() diff --git a/boards/common/openocd.board.cmake b/boards/common/openocd.board.cmake index 14d32d4be25..b1d09fe0a2d 100644 --- a/boards/common/openocd.board.cmake +++ b/boards/common/openocd.board.cmake @@ -20,3 +20,6 @@ board_finalize_runner_args(openocd --cmd-load "${OPENOCD_CMD_LOAD_DEFAULT}" --cmd-verify "${OPENOCD_CMD_VERIFY_DEFAULT}" ) + +# Manufacturer common options +include(${CMAKE_CURRENT_LIST_DIR}/openocd-stm32.board.cmake)