该文档用来记录简单使用openOCD过程,使用的是CMSIS DAPLink(该link很便宜,并且开源正版)

openOCD是一个用来进行在线调试的工具,它配合GDB和对应的芯片的SVD文件根据调试工具(stlink、jlink、CMSIS DAPLink等)的配置可以对嵌入式单片机MCU进行在线调试

安装openOCD

该工具在windows和类Unix系统下的安装有所不同,下面一一列举

windows

在windows下安装openOCD可以直接安装exe文件,也可以直接下载可执行文件直接运行,我个人比较推荐后者,下面是我放在蓝奏云上的openOCD的可执行文件

蓝奏云

下载后将openOCD添加到PATH环境变量,在控制台中输入openocd --version能看到版本相关信息即可

Linux/Unix/MacOS

也是直接用包管理工具安装,Archlinux如下:

1sudo pacman -S openocd

在控制台中输入openocd --version能看到版本相关信息即可

233

启动openOCD

  • 举例启动openOCD连接一个STM32F103C8T6的板子
1openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg

链接openOCD

windows如果找不到telnet的话根据该链接内容打开telnet 点击跳转,下面摘录防连接失效

1  作为个人用户Telnet还是非常方便的。安装Win7Telnet和WindowsServer2008略有不同,大家可以通过下面的操作方法实现。依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”稍等片刻 即可完成安装。除此之外,我们也可通过该向导安装“TFTP客户端”、“Internet信息服务”等。
2
3  安装完成后,Telnet服务默认情况下是禁用的。还需执行“开始”→“运行”,输入servcies.msc打开服务管理器。找到并双击Telnet服务项,设置其启动方式为“手动”(更安全,只在需要的时候才启用),最后“启动”该服务“确定”退出即可。
  • 另外运行一个控制台去运行telnet链接openOCD
1telnet localhost 4444

使用openOCD烧录固件

仅列举烧录功能,调试功能需要配合不同的gdb进行,等以后再讲相关的内容

1halt  #停止软件运行
2flash write_image erase /path/to/hex_file.hex #烧录软件
3reset # 复位芯片
4exit  # 退出openOCD

impressionyang