Debugging JTAG如何影响总体系统性能及其缺点

Debugging JTAG如何影响总体系统性能及其缺点,debugging,embedded,signal-processing,firmware,jtag,Debugging,Embedded,Signal Processing,Firmware,Jtag,我来自非嵌入式软件世界,我想我理解JTAG的概念和用例,但对我来说仍然有一些悬而未决的问题。 我的最终目标是为芯片固件构建CI管道。管道基本上包含两个主要内容:运行集成测试和在固件因某种原因失败时收集“内存转储”的能力。 我的问题是: 使用JTAG是否会影响芯片的整体性能(功耗、任务执行时间等) 当特定事件发生时,是否可以收集内存寄存器状态 一般来说,使用JTAG的缺点是什么 使用JTAG是否会影响系统的整体性能 芯片(功耗、任务执行时间等) 通常不会,但您应该查看目标的数据表/参考手册,了解其

我来自非嵌入式软件世界,我想我理解JTAG的概念和用例,但对我来说仍然有一些悬而未决的问题。 我的最终目标是为芯片固件构建CI管道。管道基本上包含两个主要内容:运行集成测试和在固件因某种原因失败时收集“内存转储”的能力。 我的问题是:

  • 使用JTAG是否会影响芯片的整体性能(功耗、任务执行时间等)
  • 当特定事件发生时,是否可以收集内存寄存器状态
  • 一般来说,使用JTAG的缺点是什么
  • 使用JTAG是否会影响系统的整体性能 芯片(功耗、任务执行时间等)

    通常不会,但您应该查看目标的数据表/参考手册,了解其特定的片上调试实现的详细信息。在这种情况下,JTAG本身只是芯片调试通信接口的定义

    这可能取决于您如何使用JTAG。如果只对片上闪存编程,则不会对运行时产生影响。如果在运行时使用它读取内存或流式调试数据,那可能是另一回事,因为片上调试和内核之间可能存在总线争用

    当特定事件发生时,是否可以收集内存寄存器状态

    这取决于目标的片上调试,而不是JTAG——正如我前面所说的,这只是通信接口,也没有定义任何特定的调试功能

    一般来说,使用JTAG的缺点是什么

    如果使用JTAG,它通常会占用无法在应用程序中使用的多路复用管脚。一些目标使用替代的“单线”接口,如ARM的SWD


    如果使用片上调试停止处理器,可能会改变系统的实时行为,或导致通信链路上的数据丢失,或错过异步事件或中断。

    谢谢。我对表演还是有点困惑。当芯片与JTAG连接时,CPU时钟由调试工具通过TCK引脚定义,对吗?如果是这样的话,与没有JTAG控制器逻辑运行时的时钟速度相比,它将成为芯片性能的瓶颈?@GekaP不,不正确,仅点击JTAG中的数据。它也是零星的,只是在交换数据时计时。正如我所说,JTAG与片上调试不同。如果不讨论特定的设备,就不可能对性能或功能进行评论。