Trace32连JTAG时,很多问题表面看像是软件命令没输对,实际更常见的是物理连线、调试口类型、JTAG链长度和时钟余量没先对齐。Lauterbach的官方资料已经把这条线说得很清楚,TRACE32支持标准JTAG、cJTAG和SWD,不同接口要在系统配置里选对;而链路稳定性又和TCK时钟、TMS、TDI、TDO的时序余量直接相关,时钟一旦拉得过高,就很容易出现探测得到IDCODE却进不了内核、或者直接报debug port fail的情况。
一、Trace32 JTAG怎么连
Trace32 JTAG怎么连,先不要一上来就点SYStem.Up,更稳的顺序是先断电连接,再上电,再做接口类型和链路探测。Lauterbach在入门资料里明确建议,连接和断开调试线时目标板应处于断电状态,软件启动后再接目标并上电,这样更能避免连线和目标同时处于不确定状态。
1、先把线缆和接口类型对上
TRACE32的调试探头和转接器很多,物理上要先确认你当前目标板用的是标准JTAG还是cJTAG、SWD。官方说明里明确写到,调试口类型需要通过SYStem.CONFIG DEBUGPORTTYPE选择,如果接口类型选错,后面即使物理连上,也会出现无法进入调试的情况。
2、再检查关键信号是不是都在
JTAG至少要重点确认TCK、TMS、TDI、TDO,另外像nTRST、目标电源参考和地也要跟板级定义一致。Lauterbach的接口规范里对这些信号的作用和推荐连接方式都有说明,例如TCK是调试器送到目标的时钟,TMS是TAP控制信号,TDI、TDO则负责数据进出。
3、链路未知时先做DaisyChain探测
如果你不确定板上是不是串了多个TAP,或者PRE、POST位数没有配准,官方推荐先在Down模式下执行SYStem.DETECT DaisyChain。探测成功后,AREA窗口会打印出PRE和POST设置,这时再回头核对SYStem.CONFIG里的JTAG链参数会更稳。
4、探测失败先查硬件,不要先怪脚本
官方排查清单里写得很直接,探测失败时先看跳线和开关、目标电源、电平、nTRST是否被错误下拉、JTAG信号是否被复用,以及TCK线上是否有反射和多时钟现象。也就是说,DaisyChain都探不出来时,优先级最高的是硬件链路,不是启动脚本。
二、Trace32 JTAG链路与时钟怎么设置
Trace32 JTAG链路与时钟怎么设置,关键不是一上来就追高频率,而是先让链路稳定,再逐步往上提。Lauterbach官方FAQ说明得很清楚,JTAG的建立时间和保持时间本质上都可以靠降低TCK频率来放宽,所以连不上时最先该试的不是更多复杂选项,而是先把时钟降下来。
1、先用低频起连
官方知识库直接给出了建议,连接异常时先试SYStem.JtagClock 100Khz,或者至少从1MHz这类较低频率起连,等SYStem.Up稳定以后再逐步提高。这样做的目的,就是先给TMS、TDI、TDO更多时序余量。
2、接口模式和时钟一起调
如果板子既支持JTAG又支持cJTAG或SWD,不要只改时钟不改接口类型。官方明确建议先确认SYStem.CONFIG DEBUGPORTTYPE是否和目标板当前模式一致,因为模式选错时,单纯降频也不会真正解决问题。
3、链路里有等待信号时看RDYLINE
在某些架构上,如果RDY线没有接,TRACE32仍按默认接法去等待ready,就可能造成链路异常。Lauterbach对RH850一类场景明确说明,如果RDY线没接,可以设SYStem.Option.RDYLINE OFF,代价只是通信性能下降,不影响基本调试功能。
4、时钟提不上去时先看板级信号质量
官方排查建议里提到,TCK反射和支路会导致芯片侧误判多时钟,必要时可以检查示波器波形,并在TCK线上考虑50到100欧的串联终端;而对信号串阻,Lauterbach也特别提醒,TMS、TDI、TCK上不建议串阻,TDO上使用22或47欧通常可以接受。
三、Trace32 JTAG异常怎么收口
Trace32 JTAG异常怎么收口,最怕的是看到一个报错就不停乱改参数。更高效的办法,是按链路探测、DAP访问、内核访问这三层往下排。Lauterbach的官方故障文档就是按这个顺序组织的,所以照着分层查,通常最省时间。
1、先分清是链路坏还是内核没起来
如果DaisyChain都失败,那就是链路层问题;如果IDCODE能探到,但SYStem.Up仍失败,就要继续看DAP、核心时钟、复位状态和安全锁。官方文档把这两类情况分得很清楚,不应混在一起排。
2、再看是不是核心选错了
在多核或big.LITTLE场景,官方特别提醒,第一核不一定是启动核,有时需要先用CORE.ASSIGN选到正确核心,再执行SYStem.Up。否则表面像JTAG不通,实际是连到了不能直接响应调试的核。
3、必要时先关复位联动再试
如果DaisyChain探测失败,官方建议可以重新上电后,在Down模式下用SYStem.Option EnRest OFF再试一次探测。这个动作更适合排查复位链和调试链之间互相干扰的情况。
4、最后再回到目标脚本
只有在链路探测成功、DAP能访问、接口类型和时钟都确认没问题之后,再去检查启动脚本里的核基址、调试端口和SoC配置,才是更有效的顺序。官方资料也明确建议,已知硬件优先先找Lauterbach提供的启动脚本再微调。
总结
Trace32 JTAG怎么连,关键不是先输一串命令,而是先把断电连接、接口类型、信号完整性和DaisyChain探测这条基础链走顺。Trace32 JTAG链路与时钟怎么设置,最稳的办法也不是直接追高频,而是先用低频连通,再根据链路质量逐步优化TCK,同时把DEBUGPORTTYPE、RDYLINE、PRE、POST和复位选项一起核对。只要把物理链路、时钟余量和目标脚本这三层分开处理,大多数JTAG连接问题都会更容易收口。