下载和调试
下载
使用 jlink 下载
安装好 jlink linux 版本。
https://kb.segger.com/UM08001_J-Link_/_J-Trace_User_Guide
https://kb.segger.com/J-Link_Commander
安装好后,下载的步骤
JLinkExe
connect stm32f407zg
swd
speed 默认连接成功后下载的通用步骤
h
loadfile xxxx.elf
r
g关于 elf 文件,带语义的程序,
hex 带地址的文本格式,
bin 纯数据。无上下文的字节流
偏硬件的调试
使用 jlink
一些常用的指令。
调试指令
regs
看 CPU 寄存器信息
读内存,寄存器 mem8 / mem16 / mem32
w8 w16 w32 写内存
setpc 强行转转执行
单步执行 step stepi
speed 速度控制
speed 1000
从手动交互到自动执行一些简单任务
从交互到自动化脚本
90% 的问题,只需要下面这些指令
jlink commander,调试器前端,偏硬件的 gdb
gdb 有符号,偏软件的 jlink/
MCU 场景下,gdb 并不直连硬件,调试结构
需要做的事情,起一个 jlink GDB Server
然后用 gdb 连上。
工具链自带了 gdb,但用的比较多的是,gdb-multiarch
调试的前提,elf 带调试信息,可以用 file xxx.elf 查看
启动 gdb
gdb-multiarch rtthread.elf
指定架构
set architecture arm
连接到 jlink gdb server
target remote :2331
复位
monintor reset
b main
continue 或 c 继续
monintor 指令透传通道,原样发给 gdb server,在这个场合由 jlink 去解析
最后更新于