背景:
在之前相关文章的基础上,有两个多线程(hart)的cpu,每个cpu都有一个jtag(TAP)的debug module(DM),通过菊花链相连(测试了一共有2个TAP的情况),再用下riscv-debug-spec的图,途中红色圆圈,2个通过菊花链相连。调试的时候,只会调试某个cpu的某个hart,所以需要通过target.cfg来做jtag chain的声明,以及打开哪一个hart进行调试。菊花链的连接方式在此不做介绍;

调试时候的配置:
假设菊花链的连接方式是 tdi -> cpu1 -> cpu0 -> tdo的连接方式。
配置方式如下,该文件设置为target.cfg,启动openocd的时候加入,随后连接telnet ,用之前文章描述的命令做调试。如果有其他问题,可以私信沟通。
adapter driver ust_jtagprobe
## 如下设置jtag 的频率为5Mhz
adapter speed 5000
gdb_port 3334
## 我们用tcl和telnet,选择对应的port
telnet_port 4445
tcl_port 6667
set _CHIPNAME riscv
set _CHIP1 riscv_1
set _CHIP0 riscv_0
## 声明2个cpu,每个2 个hart
set _TARGETNAME0 $_CHIP1.hart0
set _TARGETNAME1 $_CHIP1.hart1
set _TARGETNAME2 $_CHI

本文介绍了如何使用telnet+openocd+jtag_dpi+vcs仿真调试RISC-V多核CPU。内容涉及两个CPU的TAP(Test Access Port)通过菊花链连接,调试时如何选择特定CPU的hart进行调试。详细阐述了菊花链的配置方式,包括IR选择、数据传输过程,并解释了多TAP链路的工作原理。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



