如果SJC被禁用,MCU i.MXRT 1051加密的XIP启动在软件重置后失败怎么解决?

2024-09-01

本次分析旨在探讨当SJC被禁用时,i.MXRT 1051加密的XIP启动在软件重置后失败的问题,并提供详细的解决方案。我们将从多个角度分析可能导致此问题的原因,并提出相应的解决策略。

1. SJC被禁用导致的问题

SJC(Serial JTAG Controller)被禁用后,可能会导致JTAG/SWD接口无法正常工作,从而影响到系统的软件重置过程。在某些情况下,软件重置可能会导致系统无法从NOR Flash启动,因为Flash的启动功能受到了影响。

2. 熔丝配置问题

熔丝配置不当可能会导致启动失败。例如,如果熔丝配置错误地设置了BOOT_MODE[1:0]为00b,但实际上需要设置为10b或其他特定值,可能会导致启动失败。

3. 系统时钟配置问题

系统时钟配置不当可能会导致启动失败。例如,如果系统时钟配置错误,可能会影响Flash的正常工作,进而导致启动失败。

4. FlexSPI配置问题

FlexSPI配置不当也可能导致启动失败。例如,如果FlexSPI的配置不正确,可能会导致Flash无法正常被识别或访问,从而影响启动过程。

1. 重新启用SJC

如果SJC被禁用,应检查相关的熔丝配置,并根据需要重新启用SJC。这可能需要通过编程器或特定的熔丝配置工具来完成。

2. 熔丝配置调整

检查BOOT_MODE和其他相关熔丝配置,确保它们的设置符合启动需求。如果有必要,可以通过编程器或熔丝配置工具重新配置熔丝。

3. 系统时钟配置修正

检查系统时钟配置,确保它符合Flash启动的要求。如果有必要,可以通过系统配置寄存器(SysConfig)或其他相关设置来修正时钟配置。

4. FlexSPI配置调整

检查FlexSPI的配置,确保Flash设备被正确识别和访问。可以通过修改FlexSPI配置寄存器或使用FlexSPI驱动API来调整配置。

综上所述,当SJC被禁用时,i.MXRT 1051加密的XIP启动在软件重置后失败可能是由于熔丝配置、系统时钟配置或FlexSPI配置等问题引起的。解决这些问题通常需要重新配置相关的设置或使用专门的工具进行调整。通过仔细分析和逐一排查,可以有效地解决启动失败的问题。

产品