我尝试通过 cJtag 对 TMS320F280021进行重新编程、但我在更改为 Oscan1模式后卡住、因为我无法激活次级调试抽头。
对于访问权限、我检查了 SPRUH35–2011年2月(TI ICEPick TAP 路由器模块 Type C 参考指南)
我们通过 cJTAG 连接、并更改为 Oscan1模式。 这可以正常工作、我们可以读取 IDCODE (0x0bb6702f)以及 ICEPICKCODE (0x41121cc0)。 在 IR 中选择 connect 后、我们将写入0x89以连接路由器。
然后、我们能够读取可用于激活其他抽头的特殊寄存器。 在这里、我们可以看到有2个抽头可用。
切换到路由器
系统控制寄存器
0x01000000移入移出0x00000000
0x01000000移入移出0x01000000
读取寄存器00000001的值:00000000
次级调试抽头0寄存器
移入0x20000000移出0x01000000
移入0x20000000移出0x20280027
读取寄存器00000020的值:00280027
次级调试抽头1寄存器
移入0x21000000移出0x20280027
移入0x21000000移出0x21280027
读取寄存器00000021的值:00280027
次级调试抽头2寄存器
移入0x22000000移出0x21280027
移入0x22000000移出0xa2000000
读取寄存器00000022的值:00000000
我们尝试激活其他一个抽头、但它不起作用。
移入0x21000000移出0xaf000000 //读取寄存器 TAP1
移入0x21000000移出0x21280027 //读取寄存器 TAP1两次以获得实际值
移入0xa12a212f 移出0x21280027 //向寄存器 TAP1写入额外的位以进行调试连接+强制激活+轻触选择+块复位模式
移入0xa12a212f 移出0x2108002f
移入0x21000000移出0x2108002f //写入后,我们更改了 POWERLOSSDETECTED [21]和 FORCEACTIVE [3]
移入0x21000000移出0x2108002f // TAPSELECT [8]和 TAPVISIBLE [9]都是0。
如果我尝试连接到另一个抽头、我得到相同的结果、TAPVISIBLE [9]保持为0。