openocd的安装和使用 - minichao9901/TangNano-20k-Zynq-7020 GitHub Wiki
D1 参考这篇文章可以安装好,至于如何使用还要另外研究
https://blog.csdn.net/qq_44656481/article/details/132415560
D2 openocd编译好的免安装文件路径
https://github.com/openocd-org/openocd/releases
下载后解压即可
D3 如果是使用windows powershell的话,那就设置windows的环境变量
这样子,powershell中输入openocd -v就能够识别到。
D4 不过我还是建议使用MSYS2。
MSYS2是一个工具集合,目标是在windows系统上像linux一样使用命令行和gcc工具。它可以用pacman -S命令安装各种linux软件,例如perl, python3, gvim, git, gcc, tcl等等。用法与linux的terminal完全一样。这个对于习惯了linux的用户,还是非常方便的。我喜欢。
MSYS2安装方法,非常简单。下载即可安装。
安装后可以自行安装vim, git, python3, tcl等软件。
pacman -S vim
pacman -S git
pacman -S python3
pacman -S tcl
MSYS2的工作目录是在MSYS2的安装路径下(C:\msys64),有一个\home\xucha
C:\msys64\home\xucha
我们将下载的openocd-179169268-i686-w64-mingw32拷贝到这个工作目录下
配置.cshrc,添加openocd的bin路径
配置完了后,source .bashrc,然后可以openocd -v看版本信息
说明安装好了
D5 openocd调试stm32的方法
http://www.360doc.com/content/23/0328/10/64159776_1074039914.shtml
可以用我的stm32h7b3_discovery进行调试
在一个msys2窗口中开启gdbserver
openocd -f ./openocd-12ff36bd1-i686-w64-mingw32/share/openocd/scripts/interface/stlink.cfg -f ./openocd-12ff36bd1-i686-w64-mingw32/share/openocd/scripts/board/stm32h7b3i-disco.cfg
在另一个msys2窗口中进行连接和调试,输入help可以看到所有的命令
telnet localhost 4444
help
help bp
常见用法
bp 断点
reg 所有寄存器值
mrb/mrh/mrw address 读一个地址
mdb/mdh/mdw/mdd address [count] 读多个地址
mwb/mwh/mww/mwd address [count] 写多个地址
ms 测量时间
program
reset
poll
step
启动openocd
连接openocd,读写一段内存地址
测量时间,设置断点,读写cpu寄存器组
存在问题及解决
之前openocd一直是连接stlinkv3可以,连接stlinkv2不行。 后来,我在ubuntu上安装了cubeide后,openocd就可以连接stlinkv2了。因此我的Nucleo_L4R5也可以使用了。猜测是因为,在安装cubeide的过程中,会安装好所有的驱动程序,于是就可以用了。
新版cubeide非常好用,它同时包含了cubemx和eclipse。配置界面和编程界面在一起,非常的方便。另外eclipse也比mdk好用,这在vivado中已经知道了。