如何使用openOCD
该文档用来记录简单使用openOCD过程,使用的是CMSIS DAPLink(该link很便宜,并且开源正版)
openOCD是一个用来进行在线调试的工具,它配合GDB和对应的芯片的SVD文件根据调试工具(stlink、jlink、CMSIS DAPLink等)的配置可以对嵌入式单片机MCU进行在线调试
安装openOCD
该工具在windows和类Unix系统下的安装有所不同,下面一一列举
windows
在windows下安装openOCD可以直接安装exe文件,也可以直接下载可执行文件直接运行,我个人比较推荐后者,下面是我放在蓝奏云上的openOCD的可执行文件
蓝奏云
- 提取码:
8vve
- 地址:https://impressionyang.lanzoum.com/ic3sU014w01e
下载后将openOCD添加到PATH环境变量,在控制台中输入openocd --version
能看到版本相关信息即可
Linux/Unix/MacOS
也是直接用包管理工具安装,Archlinux如下:
sudo pacman -S openocd
在控制台中输入openocd --version
能看到版本相关信息即可
启动openOCD
- 举例启动openOCD连接一个STM32F103C8T6的板子
openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg
链接openOCD
windows如果找不到telnet的话根据该链接内容打开telnet 点击跳转,下面摘录防连接失效
作为个人用户Telnet还是非常方便的。安装Win7Telnet和WindowsServer2008略有不同,大家可以通过下面的操作方法实现。依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”稍等片刻 即可完成安装。除此之外,我们也可通过该向导安装“TFTP客户端”、“Internet信息服务”等。
安装完成后,Telnet服务默认情况下是禁用的。还需执行“开始”→“运行”,输入servcies.msc打开服务管理器。找到并双击Telnet服务项,设置其启动方式为“手动”(更安全,只在需要的时候才启用),最后“启动”该服务“确定”退出即可。
- 另外运行一个控制台去运行telnet链接openOCD
telnet localhost 4444
使用openOCD烧录固件
仅列举烧录功能,调试功能需要配合不同的gdb进行,等以后再讲相关的内容
halt #停止软件运行
flash write_image erase /path/to/hex_file.hex #烧录软件
reset # 复位芯片
exit # 退出openOCD