在STM32CubeIDE中使用CMSIS-DAP调试器

2020年了,STM32CubeIDE还不支持CMSIS-DAP.由于正点原子的远程调试器时基于CMSIS-DAP的,这也就意味着不能远程调试,于是我想能不能修改配置让他支持呢?从理论上来说,STM32CubeIDE用的GDB调试,只要想办法用个GDB服务器连接CMSIS-DAP,STM32CubeIDE再连接GDB服务器就行了.于是我找到了以下方案.

首先,打开“Run->Debug Configurations”,然后按照下图配置.

在STM32CubeIDE中使用CMSIS-DAP调试器 · 配图

接着在项目跟目录下建立一个“debug.cfg”,根据实际情况修改下面代码中的“CHIPNAME”和“stm32f4x.cfg”

source [find interface/cmsis-dap.cfg]


set WORKAREASIZE 0x8000

transport select "swd"

set CHIPNAME STM32F427IIHx
set BOARDNAME genericBoard

# Enable debug when in low power modes
set ENABLE_LOW_POWER 1

# Stop Watchdog counters when halt
set STOP_WATCHDOG 1

# DAPLink Debug clock frequency
set CLOCK_FREQ 8000

# Reset configuration
# use hardware reset, connect under reset
# connect_assert_srst needed if low power mode application running (WFI...)
# we use swd mode, so we needn't srst.
#reset_config srst_only srst_nogate connect_assert_srst
set CONNECT_UNDER_RESET 1
set CORE_RESET 0

# ACCESS PORT NUMBER
set AP_NUM 0
# GDB PORT
set GDB_PORT 3333



# BCTM CPU variables

source [find target/stm32f4x.cfg]

然后开终端,进入项目根目录,运行“openocd -f debug.cfg”,接着启动STM32CubeIDE的调试功能,保持终端开启即可开始调试.

已知问题

  1. 不可启用Live expression功能
  2. 每次开始调试时需要等一会
谢谢你读到这里 ♡

如果这份记录帮到了你,我会很开心。

LET'S LEAVE A LITTLE NOTE

来聊聊天吧♡

你的每一句话,都会让这座小房子更温暖。

正在打开留言本…

找一份小记录

输入关键词,找找房子里的宝藏。♡

搜索文章标题、正文、分类和标签 ⌘ / Ctrl + K