2.0 总介

图2.1显示了外部调试支持的主要组件。
虚线显示的块是可选的。
用户与运行调试器(例如gdb)的调试主机(例如笔记本电脑)进行交互。

调试器与调试转换器(例如OpenOCD,它可能包含一个硬件驱动程序)通信,以与调试传输硬件(例如Olimex USB-JTAG适配器)通信。

USB-JTAG 将 调试主机 连接到平台的调试传输模块(DTM)。
    
DTM通过调试模块接口(DMI)提供对一个或多个调试模块(DMs)的访问。
平台中的每个hart由一个DM精确控制。

hart 可能是异构。
对hart-DM映射没有进一步的限制,但通常单个核心中的所有hart都由同一个DM控制。
在大多数平台中,只有一个DM控制平台中的所有hart。

DM 与 hart 可以是 1:1 , 也可以是 1:n

DMT 什么时候可以有多个?
hart 的运行控制 					: DM 负责
GPR的 访问 					: Abstract commands 负责
Additional registers(CSR/FPR)的访问 : Program Buffer 负责
访问内存 							: Program Buffer 负责/需要hart参与运行
访问内存 							: 系统总线(可选) 负责 // 不需要hart 参与运行
hart的停止控制 					: 触发器模块 负责 // 一旦停止,hart  通知 DM,表示hart已经停止