RT595与RT685开发板异常不可烧写恢复方案 在实际开发运用RT595及RT685开发板的过程中,时常会遇到客户反馈的开发板异常状况——借助调试器进行程序烧写时持续报错,无法完成重新烧录操作,致使开发板陷入“变砖”困境。此类问题成因多样,诸如错误的FCB烧写、程序下载过程遭异常中断以及其他未知异常情况等均有可能引发。本文将着重介绍两种行之有效的解决方案,分别为运用SECTOOL工具以及借助外部烧写器J-link设备,帮助开发者应对这一种问题。 需特别说明的是,这两种解决方案均需先将RT595和RT685开发板的Bootmode设置为SerialISP模式。NXP公司推出了两款基于RT685芯片的开发板(MIMXRT685-AUD-EVK和MIMXRT685-EVK)以及一款RT595开发板。鉴于RT595开发板的操作与RT685开发板具有相似性,本文选取MIMXRT685-AUD-EVK开发板作为测试验证对象,研发者需要根据使用的开发板版本对应下载SDK版本,确保准确无误。 一、前期准备:进入SerialISP模式 以MIMXRT685-AUD-EVK开发板为例,在进行后续操作前,需先将开发板上的SW5[1-3]开关设置为“ONOFF OFF”状态,对应的引脚PIO1_17、PIO1_16、PIO1_15应呈现“High,High, Low”的电平状态。具体可参考RT600user manual中的截图,其中详尽描述了ISP引脚与对应Bootmode之间的对应关系。
二、方案一:使用SECTOOL工具恢复 (一)准备工作:生成APP image 导入基础SDK demo:打开MCUXPresso IDE软件,导入基础的SDK演示工程“mimxrt685audevk_lpc_gpio_led_output_cm33”。 修改工程设置:对工程进行两处关键设置的修改并编译。
生成Hex文件:完成上述设置后,生成Hex文件,为后续使用SECTool工具做好文件准备。 (二)使用SECTOOL工具操作 创建工作区:打开已安装好的SECTool工具,新建一个工作区,选择MIMXRT685S。 选择连接方式:RT500和RT600支持多种与PC机的连接方式,包括USB、UART、SPI、I2C共计四种方式。 若选择UART接口,可将开发板的J5接口通过USB线束连接至PC端; 若选择USB接口,则将开发板的J7接口通过USB线束连接至PC端。 用户可根据实际需求任选一种连接方式,但需注意不支持同时使用多种连接方式,如需切换通信协议,建议将开发板断电重启后重新选择。
配置Flash类型并测试:选择MIMXRT685-AUD-EVK默认的片外NorFlash类型,点击“Apply”按钮应用设置,随后点击“测试”按钮验证配置是否成功。 构建镜像:在SECTool工具中选择之前由MCUXPressoIDE生成的Appimage,点击“Buildimage”按钮开始构建镜像。 烧写镜像:将步骤4生成的镜像烧写到RT685芯片中。 切换Bootmode:操作完成后,将开发板断电,设置开发板的Bootmode为FlexSPIBoot from PortB模式,对应的SW5[1-3]开关设置为“ONOFF ON”。重新上电,开发板恢复正常,程序运行成功。
三、方案二:借助J-Link设备恢复 (一)准备工作:生成可烧写文件 使用MCUXpressoIDE导入基础工程“mimxrt685audevk_lpc_gpio_led_output_cm33”,无需进行任何修改,直接编译生成Hex或S19文件备用。下载安装SEGGERJ-Flash软件工具(可从Segger官网获取)。 (二)硬件连接与配置 硬件改动:对MIMXRT685-AUD-EVK开发板进行如下硬件修改: a. 将JP2的2和3引脚连接; b. 取下跳帽JP17、JP18、JP19,保持p3处于断开状态; c. 将SW5开关设置为“ONOFF OFF”。 e. 设备连接:将J-linkPlus设备连接到开发板的J19接口,并将J6连接到PC机,为开发板供电。 (三)使用J-Flash软件烧写程序 创建新工程:打开安装好的J-Flash软件,创建一个新工程,选择设备类型为MIMXRT685S。需特别注意,RT685不支持JTAG接口调试,仅支持SWD接口。
烧写程序:在创建好新工程后,将方案二生成的Hex文件烧写到开发板中。
烧写完成后,将开发板断电,设置开发板的Bootmode为FlexSPIBoot from PortB模式,对应的SW5[1-3]开关设置为“ONOFF ON”。重新上电,开发板恢复正常,程序运行成功。
通过以上两种方案,可有效解决RT595和RT685开发板出现的异常不可烧写恢复问题,帮助开发者快速恢复开发板的正常使用。在实际操作过程中,可根据具体情况选择合适的方案进行尝试。
|