Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

rvdbg 使用手册

English

rvdbg 用一份 rvdbg.toml 管理 rustvisor 项目的烧录、调试和目标检查。连接 Lauterbach 时使用 TRACE32 PowerView;连接 StellarLINK 时使用独立运行的 openocd-stellar。镜像由项目自己的构建系统生成,rvdbg 负责把已经生成的镜像送到板子上,并帮助你确认目标的状态。

本手册面向在 macOS Apple 芯片或 Linux x86_64/aarch64 主机上使用 rvdbg 的人。rvdbg init 的板级默认值针对 SR6P6;换板前需要核对脚本、核名称、内存访问端口和一次性写入区,不能把这些默认值当作通用配置。

从你要完成的事情进入

任务阅读入口读完应能完成什么
第一次使用快速开始安装依赖,生成配置,烧录并查看状态
换镜像、调试器或核项目配置确认实际生效的镜像、后端和端口
更新程序或符号烧录与验证选择 flash/load,并正确处理多镜像
断点、单步、查看调用栈调试与交互会话接入 IDE/GDB,理解停核和复位行为
诊断当前程序查看目标检查 PC、异常、内存、时钟和验收条件
查看日志、收发数据RTT 与 FDX找到目标缓冲区,区分日志与包通信
接入脚本或 agent自动化解析 JSON、退出码和会话命令边界
操作失败排障从现象找到下一步检查

第一次阅读可按目录顺序;日常使用直接打开对应任务页。页面里的标准 Markdown 相对链接也能在 GitHub 和 Obsidian 中使用。mdBook 网站在页尾自动列出“引用此页”,可以反查哪些流程依赖当前页面。

两种后端有哪些差异?

能力TRACE32StellarLINK / OpenOCD
烧录、验证、状态、停核与继续支持支持
IDEVS Code、RustRover/LSP4IJ,通过 DAPVS Code/Cortex-Debug、GDB
普通 RAM、RTT、FDX运行中通过 AD: 访问运行中通过 MEM-AP 访问
加载调试符号rvdbg load由 GDB 读取 ELF
按 PER 名称读取寄存器reg、watch不支持;使用地址或检查文件
PRACTICEeval、cmd、do不支持
Trace 导出trace、fault --trace不支持
时钟图clock --html仅文本/JSON 时钟树

两个后端共享命令名不代表所有选项都通用。后端选择规则见配置,每种操作的限制放在对应任务页。

操作前先确认它改变什么

status、mem、fault、verify、不带 --halt 的 check 等检查命令不会为了读取而自动复位或停核;某些寄存器读取因此会被拒绝。普通 RAM 访问和有读副作用的 MMIO 也需要区分,见查看目标。

flash 会写入 Flash 并复位;reset 复位并停核;halt、go、run-until 改变运行状态。load 不写程序,但会加载符号并在需要时继续运行;IDE 接入也可能执行板级复位钩子,详见调试。

ram --write 和 FDX 发送会改变目标 RAM 或让固件执行自己的协议。cmd、do 的影响取决于 PRACTICE 内容;不能仅按 rvdbg 命令名判断它们的实际作用。

查完整参数使用 rvdbg --help 和 rvdbg <命令> --help。手册解释操作过程和判断方法,参数默认值以当前安装版本的帮助和 rvdbg init 输出为准。

本地预览、链接规则和构建检查见维护这本手册。