除错埠

调试端口是集成电路中包含的芯片级诊断接口(类似于计算机端口),用于帮助设计、制造、开发、引导、配置、调试和售后系统编程。 一般而言,最终使用功能不需要调试端口,并且通常在成品中隐藏或禁用。

当在高可用性或安全关键系统中构成时,调试端口可以继续作为系统xxx器运行以在成品中进行完整性验证。 在低成本或大批量电子产品中,调试端口有时会保持启用状态以避免设计更改的成本,并且可以被改装者和黑客用来控制设备和/或访问额外功能。

由于其高度复杂性,调试端口在微处理器 (CPU) 和微控制器 (MCU) 中几乎是通用的。 这些将在下面讨论。

硬件调试端口

  • IC 上无处不在的 JTAG 端口
  • 原始 Xbox 上的低引脚数调试端口,供模组制作者使用
  • 串行线调试 (SWD),在 Arm Cortex-M 微控制器上无处不在
  • 后台调试模式接口 (BDM)
  • 编程和调试接口
  • Nexus 调试

排除微处理器上的错误

微处理器是非常复杂的设备,内部通常包含超过十亿个晶体管,有时甚至超过一万亿个。

消除微控制器上的错误

微控制器通常比主流 CPU 小,但现在已经发展到片上系统 (SoC) 领域,MCU 几乎可以成为最终用途应用板上xxx保留的复杂芯片(还有专门用于专用电气的额外芯片 电平转换和增强型 ESD 保护等功能)。

SoC MCU 通常将内部闪存作为程序存储,也可能包含内部基于 EEPROM 的配置熔丝,其正确配置对于 MCU 在正确的操作模式下加电至关重要; 调试端口可能是初始配置时钟或在制造后加载xxx个软件程序的xxx方法。

USB 设备固件升级

自 2010 年左右以来,大量 MCU 现在都在出厂 ROM 中集成了具有设备固件升级 (DFU) 的 USB 外设。 此类 MCU 对不想投资于访问 JTAG 等专用调试端口所需的硬件工具的爱好者很有吸引力

除错埠

这些设备被设计成不易变砖。 通过将特殊引脚保持在活动状态,可以轻松恢复错误的固件加载,这会导致芯片使用其内部工厂 ROM 启动,从而通过其内置 USB 控制器提供编程接口。 DFU 可以被视为一种在软件而非硬件中实现的调试端口形式。 然而,这在很大程度上破坏了专用硬件调试端口的调试功能,因为调试软件本身就很脆弱,而调试软件也实现了您的调试接口——但前提是功能正常。

0

点评

点赞

相关文章