wuxx/nanoDAP

STM32CubeIDE 调试配置

mengyyy opened this issue · 1 comments

参考了一下 屋脊雀工作室 写的教程或者这里
试了一下但是有问题不成功 关键在于openocd配置文件有问题
试着改了一下openocd的配置文件 确实是能和stm32CudeIDE 调试了
但是感觉反应特别慢 具体表现在单步调试点半天才到下一步
但是在keil4里使用CMSIS调试反应却很快
想知道是什么原因造成stm32CubeIDE里调试反应慢?

附配置文件 daplink-stm32f4.cfg
板子主频设成8000kHz也就是8MHz 按官方说4MHz就够了

# This is an genericBoard board with a single STM32F429BITx chip
#
# Generated by STM32CubeIDE
# Take care that such file, as generated, may be overridden without any early notice. Please have a look to debug launch configuration setup(s)

source [find interface/cmsis-dap.cfg] 

# set WORKAREASIZE 0x8000

# transport select "swd"

# set CHIPNAME STM32F429BITx
# set BOARDNAME genericBoard

# Enable debug when in low power modes
# set ENABLE_LOW_POWER 1

# Stop Watchdog counters when halt
# set STOP_WATCHDOG 1

# STlink Debug clock frequency
set CLOCK_FREQ 8000

# use hardware reset, connect under reset
# connect_assert_srst needed if low power mode application running (WFI...)
# reset_config srst_only srst_nogate connect_assert_srst
# set CONNECT_UNDER_RESET 1

# BCTM CPU variables

source [find target/stm32f4x.cfg]

以及启动GDB调试服务器的脚本 debug.bat
先运行这个再在stm32CubeIDE里启动调试

@REM stm32CubeIDE openocd读取配置文件的路径
@SET CONF_PATH=C:\ST\STM32CubeIDE_1.0.2\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.debug_1.0.2.201907120816\resources\openocd\st_scripts

@REM stm32CubeIDE openocd 执行文件路径
@SET OPENOCD_PATH=D:\ST\STM32CubeIDE_1.0.2\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.openocd.win32_1.0.0.201904181610\tools\bin

REM 脚本当前路径
@SET ORIGIN_PATH=%CD%

@REM openocd配置文件名
@SET CFG_NAME="daplink-stm32f4.cfg"

@REM openocd加载 cmsis-dap配置 和 stm32f4 配置
@rem "%OPENOCD_PATH%\openocd.exe" -f "%CONF_PATH%\interface\cmsis-dap.cfg"  -f "%CONF_PATH%\target\stm32f4x.cfg"

@REM 替换配置文件夹路径下配置文件
@xcopy /s/Y "%ORIGIN_PATH%\%CFG_NAME%" "%CONF_PATH%\%CFG_NAME%"

@REM 切换到stm32Cube IDE openocd读取配置文件的路径
@cd /d "%CONF_PATH%"

@REM 后台启动opnocd服务
START  "openocd" "%OPENOCD_PATH%\openocd.exe" -f "%CONF_PATH%\daplink-stm32f4.cfg"

@REM 切回原始路径
@cd /d "%ORIGIN_PATH%"
wuxx commented

stm32CubeIDE里只能用openocd + cmsis-dap吗,推测可能是stm32CubeIDE本身的调度问题,你可以试试看脱离stm32CubeIDE,只用 openocd + cmsis-dap 进行调试,输入命令telnet localhost port(openocd监听的端口号),可以进行调试