OpenOCD 指令与功能汇总表格,涵盖了启动选项、配置文件、TCL 命令、GDB 集成等内容:
官方文档地址:Top (OpenOCD User’s Guide)
下载地址:https://github.com/openocd-org/openocd
最常用的stlink下载指令:
openocd -f "D:/SoftWare/Environment/openocd/scripts/interface/stlink-v2.cfg" -f "D:/SoftWare/Environment/openocd/scripts/target/stm32f1x.cfg" -c init -c halt -c "program ./build/make_again.hex verify reset" -c shutdown
OpenOCD 指令与功能汇总
类别 | 指令/选项 | 描述 |
---|---|---|
启动选项 | openocd -f <配置文件> | 启动 OpenOCD 并加载指定的配置文件。 |
openocd -c "<TCL命令>" | 在启动时执行指定的 TCL 命令。 | |
openocd -d <级别> | 设置调试信息输出级别(0 到 3 ,数字越大,输出信息越详细)。 | |
openocd -l <日志文件> | 将日志输出到指定文件。 | |
openocd -s <搜索路径> | 添加配置文件搜索路径。 | |
openocd --version | 显示 OpenOCD 的版本信息。 | |
openocd --help | 显示帮助信息。 | |
配置文件 | interface/<适配器>.cfg | 定义调试适配器的配置文件(如 stlink-v2.cfg )。 |
target/<目标芯片>.cfg | 定义目标芯片的配置文件(如 stm32f4x.cfg )。 | |
TCL 命令 | init | 初始化目标设备。 |
reset | 复位目标设备。 | |
halt | 暂停目标设备的执行。 | |
resume | 恢复目标设备的运行。 | |
step | 单步执行一条指令。 | |
mdw <地址> [长度] | 以32位读取指定地址的内存数据。 | |
mww <地址> <值> | 向指定地址写入32位数据。 | |
flash erase_sector <地址> <长度> | 擦除指定地址的 Flash 扇区。 | |
flash write_image <文件> <地址> | 将文件写入 Flash。 | |
flash verify_image <文件> <地址> | 验证 Flash 中的数据是否与文件一致。 | |
bp <地址> [长度] | 在指定地址设置断点。 | |
rbp <地址> | 删除指定地址的断点。 | |
wp <地址> <长度> <类型> | 设置观察点(类型可以是 r 、w 或 rw )。 | |
reg | 显示所有寄存器的值。 | |
reg <寄存器名> <值> | 向指定寄存器写入值。 | |
adapter speed <速度> | 设置调试适配器的时钟速度(单位:kHz)。 | |
reset_config <类型> | 设置复位类型(如 srst_only 、trst_and_srst 等)。 | |
shutdown | 关闭 OpenOCD。 | |
GDB 集成 | target remote :3333 | 在 GDB 中连接 OpenOCD(默认端口为 3333)。 |
load | 加载程序到目标设备。 | |
break <函数名或地址> | 在 GDB 中设置断点。 | |
continue | 在 GDB 中继续运行程序。 | |
info registers | 在 GDB 中查看寄存器值。 | |
实用技巧 | source <脚本文件> | 加载并执行指定的 TCL 脚本文件。 |
set <变量名> <值> | 定义变量并赋值。 | |
program <文件> verify reset | 将文件编程到 Flash 中,验证并复位设备。 | |
-c "script <脚本文件>" | 在启动时执行指定的 TCL 脚本文件。 |
配置文件示例
配置文件 | 描述 |
---|---|
interface/stlink-v2.cfg | 配置 ST-Link v2 调试适配器。 |
target/stm32f4x.cfg | 配置 STM32F4 系列目标芯片。 |
综合示例
示例命令 | 描述 |
---|---|
openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg | 启动 OpenOCD 并加载 ST-Link v2 和 STM32F4 的配置文件。 |
openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c "init" -c "reset halt" | 启动 OpenOCD 并初始化、复位目标设备。 |
openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c "program firmware.bin verify reset exit" | 启动 OpenOCD 并编程、验证、复位目标设备,然后退出。 |