riscv debug (一) 相关概念

riscv debug包括
	非侵入式性调试(即trace)
		// 没有实现, 于 2017-6-30 被 riscv debug 手册移除
		// 但是 另外开了一个手册 ,叫做 riscv-trace-spec.pdf
	侵入式调试
		1. halt(debug mode) 模式
			// jtag  连上将核 halt 住 , 进入 halt
			// ebreak 执行后 进入 halt // dret 退出 halt 模式
		2. debug 异常处理函数模式
			mcause 其中有一个异常原因 为  Breakpoint
			怎么进入 Breakpoint 异常 ?
				只有 Trigger 会导致 进入 Breakpoint 异常
				
			

riscv 的 trigger 可以导致的 action	// 类似于 arm中 的 (DWT&FPB的集合)
	1. breakpoint exception
	
	2. 进入 debug mode
	
	3. trace function 1
	4. trace function 2
	5. trace function ...

riscv debug架构

在这里插入图片描述

图中
一般来说 , DM 与 hart 的对应关系 为 1:1 , 但 也可以是 1:n
一个芯片设计中,可以有多个 DTM , 例如  JTAG-DTM , USB-DTM , 两者不可同时使用,但是一个芯片中可以同时存在
不能同时使用 是 由 芯片使用者 保障的.

riscv debug 与 jtag 的关系
riscv debug 实现了 "jtag" 定义的 jtag状态机
riscv debug 实现了 "jtag" 定义的 硬件接口
riscv debug 实现了 "jtag" 定义的 IDCODE BYPASS

riscv debug 还定义 了 jtag 未定义的 
	1. DMI 寄存器
	2. program buffer
	3. Abstract Command 中的 Quick Access
	4. Abstract Command 中的 Access Register 的 postexec
	5. Abstract Command 中的 Access Register 的 transfer
riscv debug 可以访问什么
hart 的运行控制 						: DM负责
hart 的停止控制 						: DM负责,Trigger Module 负责 // 一旦停止,hart 将 通知 DM,表示hart已经停止

// 总述 : 任何属于(GPR/FPR/CSR)的寄存器 , 可以通过两种方式访问
GPR的 访问 							: Abstract commands 负责,也可以 进行(Additional registers(CSR/FPR)的访问)
Additional registers(CSR/FPR)的访问 	: Program Buffer 负责

// 总述 : 任何属于 system memory map 的内存  , 可以通过三种方式访问
访问内存 							: Program Buffer 负责/需要hart参与运行
访问内存 							: 系统总线(可选) 负责 // 不需要hart 参与运行
访问内存 							: Abstract Commands 负责


互联网资料
### 回答1: RISC-V Debug是指在RISC-V处理器上进行调试和跟踪的功能。在RISC-V架构中,调试和跟踪的任务是通过Debug模块来完成的。 Debug模块包含在RISC-V处理器内部,是种专门用于处理器调试和跟踪的硬件模块。 RISC-V Debug包含许多调试和跟踪功能,例如控制处理器的执行,观察处理器中的寄存器和内存等。RISC-V Debug还提供了对处理器状态的全面控制,可以在处理器处于各种状态时停止和继续执行。 RISC-V Debug还提供了与软件调试器或硬件调试器通信的接口。调试器可以通过这些接口与Debug模块进行通信,并将调试信息传递给处理器。调试器还可以将指令和数据发送到处理器以进行调试和跟踪。 总之,RISC-V Debug是处理器调试和跟踪的重要功能,它为开发人员提供了全面的调试和跟踪功能,使他们可以更轻松地识别和解决程序的错误和问题。 ### 回答2: RISC-V Debug是RISC-V ISA的个可选标准扩展,它为处理器的调试和系统级调试提供了种标准化的方式。它定义了组可选的调试功能,包括 CPU 控制、 CPU 状态、系统总线、设备访问和跟踪 等,同时也提供了个调试接口,使得不同供应商或开发者的调试工具可以互相兼容。 在 RISC-V Debug 系统中,有两个主要元素:Debug Host 和 Debug Target,它们之间集成了所有的调试功能。Debug Host可以是任何种类型的调试器,在RISC-V调试系统中起到控制和分析的作用;而Debug Target则是被调试的系统,可以是台单核处理器或者是多核系统。除此之外,还有个可选的调试交换机元件,用于连接Debug Host和Debug Target,实现远程调试。 RISC-V Debug的设计使得调试器可以在不同的硬件实现之间实现高度可移植性,而且它还可以集成到底层固件或操作系统中。RISC-V Debug标准的实现可以通过类似 OpenOCD、GDB 和 J-Link的调试工具或者其他厂商的调试工具来完成,这让用户可以灵活选择不同的实现方式以满足不同的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值