嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > 调试出现异常时,MIMXRT 目标板恢复方法

调试出现异常时,MIMXRT 目标板恢复方法

1. 背景描述

    使用NXP MIMXRT板调试代码时,有时目标板在使用IDE和调试器下载代码时会突然遇到调试连接问题。特别是对于使用带有板载默认CMSIS-DAP调试器的NXP RT EVK板的用户。甚至在尝试了很多次之后怀疑目标板坏了。调试器连接使用错误的FDCB、下载进程异常结束、错误的Flash加载程序或 Flash中的异常应用程序代码等时通常发生的问题。问题结果将类似于以下图片: 

.1 

.2

    连接日志提示没有连接到芯片的调试端口错误:Wire Ack Wait Fault线确认等待故障。下面将给出一些方法,以典型的MIMXRT1060-EVK+MCUXpresso IDE作为测试平台,在遇到调试器问题时恢复目标板。其他平台也类似,恢复方法也可以使用。

2. MIMXRT 板卡恢复方法

    主要方法是将MIMXRT板更改为串行下载模式,使内核处于已知状态,然后在IDE中或使用MCUXpresso安全配置工具(SPT)进行大规模擦除。首先,让主板进入串行下载模式:

 

.3

进入串行下载模式:

1SW71关、2关、3关、4

2)关闭电源并重新接通电源,或按下复位”按键启动目标板

2.1 IDE Mass Erase 擦除操作

    在MCUXpresso IDE,选择相关的调试器接口,然后选择擦除Flash 操作。这里以MIMXRT1060-EVK板载默认调试器CMSIS DAP为例: 

.4 

.5

    此操作之后,当目标板再次回到内部引导时,调试器可以再次下载到Flash

2.2 SPT Mass Erase

    还可以使用NXP MCUXpresso安全配置工具在串行下载模式下进行代码下载或批量擦除,这种方法也可以恢复MIMXRT目标板,实际上,只需让内核处于已知状态即可。

  SPT 工具下载地址:

https://www.nxp.com/design/software/development-software/mcuxpresso-secure-provisioning-tool:MCUXPRE...

安装SPT工具后,将其打开。

  1) 创建一个目标 MIMXRT1060 工作区 

.6

  2) USBUART连接目标板

    这里以USB接口为例。

.7

. 8

.9

.10

.11

    到目前为止,外部闪存已被擦除!在SPT中,还可以仔细检查内存,特别是FDCB区域是否被擦除,如下图所示:

.12

    用户可以返回到内部启动模式,并使用调试器再次下载代码。内部启动模式:SW7:1-关闭、2关闭、3打开、4关闭复位或关机再开机进入内部启动模式,然后使用调试器再次测试,结果如下: 

.13

    可以看到 MIMXRT1060-EVK 调试器接口恢复正常。另外在调试时,除了SWD的时钟和数据引脚外,最好将 Reset引脚接上,不接复位引脚有可能调试会弹出如下错误。

图 14

3. 总结

    当 Flash闪存包含异常的应用程序(访问Flash不存在、Flash损坏、时钟配置错误等)时,它将导致板最终处于未知状态,然后调试器无法控制内核。但是,当将内核置于串行下载模式时,它将使内核处于已知状态,这样,调试器将能够控制内核。因此,当遇到MIMXRT板中的调试器问题时,请尝试在串行下载模式下批量擦除外部 Flash,然后将板调试器恢复到正常状态。