使用PC上的Linux里的DebugServer和GDB对一颗RISC-V SoC芯片进行debug, RISC-V芯片在开发板上,开发板和PC之间使用下载器,下载器一端连接开发板上连出的JTAG端口,一端连接PC上的USB接口。GDB、DebugServer、下载器(adapter)和target端的连接关系可以参考下图。

RISC-V SoC芯片:里面有RISC-V core,和SoC中的debug module相连,这个debug module对内控制RISC-V core、读取寄存器、访问memory,对外和JTAG控制器连接,JTAG控制器的接口连到芯片的PAD。
Adapter:负责协议转换:把USB的JTAG控制信息按JTAG协议转换输出,满足协议定义的电气特性。
Linux系统:负责提供USB驱动,由DebugServer所调用。
DebugServer:负责把GDB的高级别命令转换成JTAG命令,并通过特定下载器的要求进行打包,准备调用OS提供的USB驱动由USB发送出去。GDB和DebugServer之间使用TCP协议进行连接。
GDB:这个GDB并非是Linux系统下调试host系统(可能是x86,可能是ARM或者其他)的GDB,而是交叉编译工具提供的调试非host系统的RISC-V设备的GDB。

17万+

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



