我来自非嵌入式软件世界,我想我理解JTAG的概念和用例,但我仍然有一些有待解决的问题。我的最终目标是建立芯片固件的CI管道。管道主要包含两件事:运行集成测试和在固件因某种原因而失败时进行“内存转储”收集的能力。我的问题:
使用JTAG是否影响芯片的总体性能(功耗、任务执行时间等)?当使用JTAG的特定事件occurs?
。
发布于 2020-12-07 13:59:28
使用JTAG是否影响芯片的总体性能(功耗、任务执行时间等)?
通常不会,但是您应该检查目标的数据表/参考手册,以了解其特定的片上调试实现的细节。在这种情况下,JTAG本身只是片上调试通信接口的定义。
这可能取决于您如何使用JTAG。如果只对芯片上的闪存进行编程,那么就不会有运行时的影响.如果在运行时使用它读取内存或流调试数据,则可能是另一回事,因为片上调试与核心之间可能存在总线争用。
是否可以在发生特定事件时收集内存寄存器状态?
这取决于目标的片上调试,而不是JTAG,正如我前面所说的,这只是通信接口,并且不定义任何特定的调试功能。
一般来说,
使用JTAG的缺点是什么?
如果您使用JTAG,它经常占用无法在应用程序中使用的多路引脚。一些目标使用替代的“单线”接口,例如ARM的社署。
如果使用片上调试来停止处理器,则可能会改变系统的实时行为,或导致通信链路上的数据丢失或错过异步事件或中断。
https://stackoverflow.com/questions/65179177
复制相似问题