openocd(http://openocd.org)全名叫做Open On-Chip Debugger,是一个自由开放的片上调试工具和编程工具,目前已经发布到0.10.0版本,目前主流调试器几乎都支持,具体可以查看Open On-Chip Debugger:OpenOCD User’s Guide(http://openocd.org/doc/pdf/openocd.pdf),它的项目托管在sourceforge(https://sourceforge.net/projects/openocd)上,点击下载即可~ 注:ubuntu软件源中也有openocd,但是版本到0.9.0,所以使用拉取源码手动安装。
首先使用命令unzip openocd-0.10.0.zip
将下载的zip包解压,然后重命名为openocd:
libtool
:
先查看libtool
版本,若没有安装,则安装:
pkgs-config >= 0.23
HIDAPI
库:
sudo
:在编译和安装的时候最好带上使用sudo
,防止因为管理权限出错;contrib / 60-openocd.rules
:在Linux上使用USB设备时,需要将此文件复制到/etc/udev/rules.d/
目录中:
首先使用命令sudo ./configure --help
查看所有受支持选项的列表,执行sudo ./configure [options]
(如果没有设置,options选项可以为空)生成构建所需要的makefile:
最后产生一个配置总结,可以看到默认打开CMSIS-DAP,那么如何打开别的呢?这个在刚刚的help中有说明,比如我要打开jlink,带上-enable--jlink
参数即可~
然后使用sudo make
,最后使用sudo make install
即可成功安装,安装后在/usr/local/share
目录即可看到openocd
目录:
它下面scripts
文件夹存放着openocd使用的文件,在interface
文件夹下存放着下载器接口的文件,在target
下存放着目标芯片的配置文件:
在这里插入图片描述
openocd的一些参数描述如下:
参数 | 描述 |
---|---|
-f <config file name\> | 使用配置文件 |
-c <command\> | 运行命令 |
使用命令openocd -f <接口配置文件> -f <目标芯片配置文件>
即可成功连接到目标芯片:
interface
文件夹下;target
文件夹下;
openocd连接到目标板后,它的默认telnet端口是4444,所以我们可以新建一个终端(一定不要关闭掉连接到目标板的终端!!!)连接到openocd的端口,然后使用命令控制。
这里因为要下载文件,所以我将路径切换到之前创建的bin文件的目录下,然后使用命令telnet localhost 4444
连接到openocd:
这样就表示连接成功了,接下来使用命令控制目标芯片:
命令 | 描述 |
---|---|
halt | 目标芯片挂起,相当于关机 |
flash write_image erase <要下载的文件> | 将文件下载到目标芯片flash |
reset | 目标芯片复位 |
注意:
pwd
查看一下,然后直接复制过去就ok;halt
是目标芯片停止运行复位后即可看到板子绿色灯亮,下载成功:
退出可使用ctrl
+]
即可退出,然后输入q
退出。
修改makefile
:
在这里插入图片描述
然后使用make download
命令,直接实现一键下载:
==下一篇==:Linux下开发stm32(三) | 寄存器工程开发
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有