你好
我有一个基于 MIMXRT1061DVL6B 的定制板,带有一个外部 或非 闪存 (W25Q128JVSSIQ)。我使用 Zephyr 和 VS Code 作为开发环境,目前遇到了设备启动困难的问题。
我怀疑这个问题与这篇文章中讨论的问题类似:
https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1060-Boot-using-FlexSPI/mp/1242678
具体来说,我认为这可能与链接器脚本配置和启用 `XIP_EXTERNAL_FLASH` 有关。
我不太明白的是,在基于 Zephyr 的设置和独立组网 (SA) MCUXpresso/NXP SDK 风格的项目中,修改链接器设置并启用 `XIP_EXTERNAL_FLASH` 的正确方法是什么。
作为一项实验,我通过手动修改 `MIMXRT1062xxxxx_flexspi_nor.ld` 文件,成功地让 MCU 执行了一些操作。链接器文件并将 `.text` 部分的位置更改为:
```
。文本{}> m_data AT > m_text
```
但是,我不想依赖这种手动修改,因为存在多个 `MIMXRT1062xxxxx_flexspi_nor.ld` 文件。项目中包含多个文件,我不确定链接器实际使用的是哪个文件。
我希望能够获得以下正确流程的指导:
1. 配置 MIMXRT1061 从外部 或非 闪存执行 XIP。
2. 启用所需的 `XIP_EXTERNAL_FLASH` 设置。
3. 在基于 Zephyr 的项目中正确修改或覆盖链接器脚本。
4. 了解非 Zephyr 项目的等效配置。
非常感谢您能就推荐方法提供任何指导。
问候,
朱奈德
你好@jahmed9 ,
为了更好地为您提供帮助,请您提供以下信息?
-你的设计中DQS引脚是连接着的,还是浮空的?
-闪存设备是否连接到FlexSPI端口A?
-你是否根据你的闪光灯设备修改过FCB?如果可以的话,请您使用修改后的 SDK 运行 flash_component_nor_flexspi 示例程序?
这可以通过确认读取、写入和擦除操作是否成功完成来帮助验证与闪存设备的基本通信。该测试还有助于验证硬件连接。
如果您尚未修改 FCB, FlexSPI 启动指南第 18 章将详细介绍 FCB 的构造方式。如有任何疑问,请随时告诉我。
BR
哈比卜