RISCV-debug
RISV-debug基于jtag
__pop_
这个作者很懒,什么都没留下…
展开
-
基于 Self-hosted Debug 的调试
参考资料调试器工作原理(一):基础篇描述了在linux os 下可以 用 ptrace系统调用 跟踪程序的pc 和 指令调试器工作原理(二):断点描述了 在 X86架构,linux os 下用 int 3 替换 目标程序 pc 地址的第一个字节int 3 执行时 , 硬件会产生中断,系统处理之后,发送信号给debugerdebuger会覆盖int 3,然后接受用户的命令,打印堆栈调试器工作原理(三):调试信息debuger获取的信息都是"地址"而C代码中是"c函数或者变原创 2022-03-10 10:05:26 · 691 阅读 · 0 评论 -
jtag 调试中 提供给用户的命令接口
jlink 提供了 cmdopenocd 提供了 telnet , telnet 提供了 cmdgdb 提供了 cmd1.jlink 的cmd 参考手册https://wiki.segger.com/J-Link_Commander具体还是要看 UM08001.pdf , 即 J-Link-J-Trace-User-Guide实例 可参考 https://blog.csdn.net/u011011827/article/details/118713517命令参考loadbin原创 2021-11-22 12:46:56 · 754 阅读 · 0 评论 -
riscv trace
riscv 的 trace 有单独的手册riscv 的trace 说的是 指令的跟踪, 不像是 arm 有 数据的跟踪,printf 等arm 的trace 有 指令跟踪(ETM) 和数据跟踪(DWT)和 时间戳和printf(ITM)arm 指令跟踪的开始时机和结束时机是 DWT 决定的risv的trace只有指令跟踪(branch)riscv 指令跟踪的开始时机和结束时机是 trigger 决定的riscv 有 三个 trigger , 如果三个 trigger 用于 trace原创 2021-11-15 10:08:43 · 2065 阅读 · 0 评论 -
JTAG (三) jtag实例 riscv
jtag标准jtag 是一个标准, IEEE1149.1,标准文件可以在 http://standards.ieee.org 获取JTAG refers to IEEE Std 1149.1-2013. It is a standard that defines test logic that can be included in an integrated circuit to test the interconnections between integrated c.原创 2021-11-04 19:10:11 · 2722 阅读 · 3 评论 -
riscv debug (一) 相关概念
riscv debug架构图中 core 有1个, DM 就有1个,相应的 DTM 就有1个core 有4个, DM 就有4个,相应的 DTM 就有4个 , 一一对应riscv debug 与 jtag 的关系riscv debug 实现了 "jtag" 定义的 jtag状态机riscv debug 实现了 "jtag" 定义的 硬件接口riscv debug 实现了 "jtag" 定义的 IDCODE BYPASSriscv debug 还定义 了 jtag 未定义的 1. DM原创 2021-11-05 12:44:19 · 2104 阅读 · 0 评论