openocd配合J-link下载调试程序
- 前言
-
- 一、硬件工具和软件
- 二、配置环境与下载代码
-
- 1、配置环境
- 2、下载代码
- 三、常用命令
前言
文章仅为个人学习记录或所遇到的问题记录,谢谢!
一、硬件工具和软件
硬件:
1、J-link V9
?过J-link连接操作芯片
2、STM32F103ZET6
?以STM32F103ZET6为例
软件:
1、OpenOCD-20231002-0.12.0
?openocd软件可以到官网上下载
2、zadig-2.6
?zadig修改j-link驱动,修改后配合openocd使用
3、MobaXterm
?输入命令
二、配置环境与下载代码
1、配置环境
步骤1:
打开zadig,选择Option->List All Device,在下拉框中找到BULK interface,选择修改的驱动为winusb,点击replace driver,等待驱动修改成功。如果后续想再使用j-link驱动调试烧录程序,需要重新安装j-link驱动
步骤2:
到openocdshareopenocdscriptsinterface文件夹下找到jlink.cfg文件,使用笔记本打开输入以下命令。对连接接口进行配置
步骤3:
打开windows命令行,将路径修改到openocd->bin(bin文件下有openocd.exe文件),输入命令openocd -v,可以获得openocd的版本信息。路径为绝对路径
步骤4:
输入openocd -f <jlink.cfg文件路径> -f <stm32f1x.cfg文件路径>,
jlink.cfg文件在下载的openocdshareopenocdscriptsinterfacejlink.cfg下,
stm32f1x.cfg文件在openocdshareopenocdscripts argetstm32f1x.cfg下。
两个路径都为绝对路径。
出现以下信息,表明openocd已经通过jlink获取到芯片的信息
步骤5:
打开MobaXterm,选择session->Telnet,名字输入localhost,端口名输入4444,进入以下界面就可以正常输入命令进行操作了
2、下载代码
环境配置好后,如果烧录文件为hex文件,输入program ?<hex文件路径>。如果烧录文件为bin文件,输入program?<bin文件路径>?<bin文件烧录地址>
在下载完成后,输入reset对芯片进行复位。代码就可以正常运行了。
注意:
(1)hex文件路径:路径为hex的绝对路径
(2)这里hex和bin文件的绝对路径中间以 " / "表示下级目录,windows中以 " "表示下级路径,如果提示找不到烧录文件,请查看符号是否正确
三、常用命令
命令 | 说明 |
---|---|
halt | 内核暂停运行 |
resume | 内核恢复运行 |
reset | 复位芯片 |
program <文件路径><烧录地址> | 烧录代码 |
init; reset init;flash erase_address <FLASH起始地址><FLASH大小> | 芯片FLASH擦除 |
mdw<地址><长度> | 按字读取数据 |
mww<地址><长度> | 按字写入数据 |
help | 获取命令说明 |
如果想获取openocd其他命令信息,请在命令行中输入help命令,获取openocd命令说明。