你好:
我在阅读 S32K1xx 的功能安全手册时,其中有一章是关于调试模式的。它表示应将 JTAG_TMS 拉低,以确保 JTAGC TAP 控制器被禁用。
如何理解这句话?这是否意味着在正常运行(非调试模式)期间,我需要通过外部元器件将此引脚拉低?
你好@Stanley_Xu ,
S32K1xx 功能安全手册和 AN5426 中的建议适用于不同的使用情况。
AN5426 建议在 JTAG_TMS/SWD_DIO 引脚上使用 10 kΩ 至 47 kΩ 的上拉电阻。如果在开发、编程或调试过程中需要使用 JTAG 或 SWD 访问,则推荐使用此硬件配置。
然而,功能安全手册针对的是与功能安全相关的应用的最终现场配置。根据第 5.6.2.1 节和假设 SM_047,当设备用于安全相关功能时,必须在现场禁用调试。在这种操作条件下,JTAG_TMS 应保持低电平,以便 JTAGC TAP 控制器保持禁用状态,并且不会意外干扰正常的应用程序操作。
因此,如果应用需要符合 S32K1xx 功能安全手册中的假设 SM_047,则最终生产的硬件应提供在现场保持 JTAG_TMS 低电平的方法。这可以通过使用外部下拉电阻或其他系统级解决方案来实现,以保证所需的低电平并防止外部源发出此信号。
TAP 状态图仅显示 TMS 如何控制 TCK 上升沿的状态转换。它本身并不能提供永久的调试保护。如果外部调试器能够主动驱动 TMS 和 TCK,则可以控制 TAP 控制器在其状态机中运行。因此,TMS 下拉是一种功能安全措施,旨在防止意外激活调试功能,而不是永久锁定调试接口的安全机制。
如果在开发或制造过程中需要调试访问权限,则可能需要单独的开发配置和生产配置。
此致,
帕维尔
根据第 59 章 JTAG 控制器 (JTAGC) 的 RM,TMS 状态会影响是否进入调试模式。如图所示,当 TMS 设置为 0 时,TAP 将不会进入调试状态。因此,保持低电平状态是安全的,同时建议根据 AN5426 的说明,通过 10k-47k 的电阻将硬件连接上拉至 VDD。