1. 概述
在《从Serial(1-bit SPI) EEPROM/NOR恢复启动》里,痞子衡介绍了恩智浦i.MX RT1xxx系列MCU的Serial EEPROM/NOR恢复启动的作用,硬件连接,加载启动过程以及下载方式,对这方面还不太了解小伙伴们,赶快去看看了解一下,总之一句话,Serial EEPROM/NOR恢复启动是在选定primary Boot Device(Serial NOR/NAND, Parallel NOR/NAND, SD/eMMC)启动失败后再执行的,而有了恢复启动可以增加系统的容错/鲁棒能力,保障系统的正常工作。
2. 测试步骤
本文以MIMXRT1060评估板为例,介绍Serial EEPROM/NOR恢复启动的实现步骤。
2.1 硬件连接检查
图1显示了MIMXRT1060的QSPI flash的连接图,而图2为Serial EEPROM/NOR恢复启动支持的LPSPI引脚,而FlexSPI_SS0、FlexSPI_CLK、FlexSPI_D0_A、FlexSPI_D1_A引脚是与LSPI2是共用引脚的(如下表所示),且IS25WP064也支持4线SPI模式,所以IS25WP064可作为Serial NOR.
Fig 1
Fig 2
FlexSPI | LPSPI | |
---|---|---|
FlexSPI_SS0 | GPIO_SD_B1_06 | LPSPI2_PCS0 |
FlexSPI_CLK | GPIO_SD_B1_07 | LPSPI2_SCK |
FlexSPI_D0_A | GPIO_SD_B1_08 | LPSPI2_SDO |
FlexSPI_D1_A | GPIO_SD_B1_09 | LPSPI2_SDI |
2.2 生产Hex file
因为恢复启动模式,本质也是一种NON XIP启动,application code需要从Serial EEPROM/NOR拷贝到RAM后再运行,所以需要提前编译链接到RAM的application Hex 文件,本篇以MCUXPresso IDE为例,参考Generating a Bootable Image for the RT1050编译SDK library 中的iled_blinky工程,生成一个链接到0x6000的Hex文件(如图3所示),其中为了测试方便,对iled_blinky工程还做了些许修改,使其除了闪烁LED灯外,能通过串口输出RT1060 LPSPI Recovery Boot Test字符串。
2.3 使用NXP-MCUBootUtility工具下载
-
打开NXP-MCUBootUtility工具,先配置Boot Device Configuration(如下所示),再点击进行连接。
Fig 4 - 加载先前生成的Hex文件,然后单击All-In-One-Action下载image 文件到IS25WP064中
Fig 5
2.4 启动测试
设置SW7为1010,选择从SD卡启动,但因为开发板没有SD卡,所以primary boot启动不成功后,才会执行EEPROM/NOR恢复启动,而在EEPROM/NOR恢复启动后,串口会打印RT1060 LPSPI Recovery Boot Test并且LED灯开始闪烁。
我分享了相应的测试文件,有兴趣的小伙伴可以试一下哦。
网友评论