我正在研究 MSP430 设计,我对Spy-Bi-Wire两线编程接口非常感兴趣。从我读到的内容来看,它在功能方面与 JTAG 非常相似,在某些情况下甚至看起来更好(当然更少的电线,但也有速度等)。
通过使用 Spy-Bi-Wire(调试、断点、闪存编程)而不包括我的 PCB 上的标准 4 针 JTAG,JTAG 有什么能力我会错过吗?
我正在研究 MSP430 设计,我对Spy-Bi-Wire两线编程接口非常感兴趣。从我读到的内容来看,它在功能方面与 JTAG 非常相似,在某些情况下甚至看起来更好(当然更少的电线,但也有速度等)。
通过使用 Spy-Bi-Wire(调试、断点、闪存编程)而不包括我的 PCB 上的标准 4 针 JTAG,JTAG 有什么能力我会错过吗?
Spy-Bi-Wire是JTAG - 物理层只是不同。JTAG 是串行接口上的一组命令。主要问题是您正在调试的芯片。您正在调试的芯片必须支持花哨的功能——而不仅仅是您的 JTAG。事实上,在TI 自己的 MSP430 上的 JTAG 接口文档中,它阐明了它的芯片如何不完全实现所有 JTAG 命令(第 3.2 节,第 67 页):
仅支持 BYPASS 指令。不支持 SAMPLE、PRELOAD 或 EXTEST 指令。
这是有趣的部分:由于 Spy-Bi-Wire 只是串行通信,所有真正的酷功能都必须在 MSP430 上实现。例如,你有多少个硬件断点?由处理器决定,而不是您使用的 JTAG。大多数 MSP430 有两个,有些有八个。
我开发了在 Teradyne ICT 上运行的定制 MSP430 解决方案
我认为,SbW 肯定不会更快。JTAG 完成 1 位需要 3 个时钟周期。然后,有人有一个非常糟糕的主意,让 RESET 线携带数据。那么RESET通常至少有1nF的电容,这使得它的充电和放电速度更慢。
SbW 适用于非常小的闪存,例如 Value 系列 MSP430G,只有几 K 的闪存可供编程。但是对于 MSP430F5XX 和 6XX,您最好提供与整个 JTAG 集的连接并将这些引脚专用于编程,否则您会后悔使用 SbW。