需求

最近使用 stm32u575 芯片的时候,调试时发现很尴尬的问题, jlink 必须安装高版本,然后盗版的就不能用了。MDK 可以直接使用 DAPLink,但是 stm32cubeide 不能直接支持。所以需要想办法解决这个问题。

解决

参考了网上的资料,st 自带的 openocd 不能用,端口不对。

openocd

需要下载官方的 openocd,不要使用 stm32cubeide 自带的。下载地址: https://gnutoolchains.com/arm-eabi/openocd/ 。下载后自行安装。

配置 openocd

  1. stm32cubeide 菜单栏 -> Run -> External Tools -> External Tools Configrations -> Program 右键 -> New Configration.
  2. Name 自己输入。
  3. Location: 选择刚才下载的 openocd 中的 openocd.exe 所在路径。
  4. Arguments: -f interface\cmsis-dap.cfg -f target\stm32u5x.cfg
  5. apply 然后 Run.

配置 debug

  1. Run -> Debug Configurations -> GDB Hardware Debugging 右键 -> New Configuratin.
  2. Name, Project, Applications.
  3. Debugger 标签页: GDB Command: stm32cubeide 自带的 arm-none-eabi-gdb.exe 所在路径。
  4. Debug server: Generic TCP/IP
  5. Connection: localhost:3333
  6. Startup标签页: set breakpoint: main.
  7. apply 然后 Debug

配置 group

其实手动先启动 openocd,然后再启动 debug 也行。 当然,如果使用 group 会更加方便。

  1. Run -> Debug Configurations -> Launch Group 右键 -> New Configuratin.
  2. Name 输入
  3. Add -> 选择 program 中的 openocd -> Lanuch Mode: Run -> Post launch action: None -> Adopt lanuch if already running -> ok
  4. Add -> 选择 GDB Hardware Debugging -> DAPLink -> launch Mode: Debug -> Post lanuch action: None -> Adopt lanuch if already running -> ok
  5. apply

参考