大家好,希望你们一切都好,我设计了一个基于 imxrt1062 EVK 的定制板,我使用几乎相同的接口,但去掉了项目不需要的传感器和其他东西。
uC: IMXRT1062
SDRAM:与 evk 相同。
QSPI NOR FLash 用于启动。(在职的)
LPUART:(工作中)
LPSPI:lpspi4,连接到存储器SPI-NOR。(不工作)
我修改了 MCUExpresso 中的一个原始 SDK 项目,最初用于测试电路板之间的 lpspi 通信,但在这种情况下,为了与外部 spin-nor 存储器通信,该程序使用 lpspi4 端口将 READID 命令发送到 spin-nor。
我用电线将内存外部添加到 evk 中。
这是与 evk 配合使用的,非常好,内存以正确的方式响应 READID 命令。
使用 NXP-MCUBoot 实用程序,通过 USB 端口连接,我可以下载 .axf将图像上传到我的自定义板,没有任何问题或警告。
电路板启动良好,并且 lpuart 通信正常,但 lpspi4 与 spin-nor 通信不正常。
我使用与 evk 中相同的连接,对物理 PCB 连接的测试正常,PCB 电路正常。
使用调试器查看 MCU 的内部寄存器,我发现几乎所有寄存器都没有像我在 MCUExpresso 中使用 Evk 那样进行配置。
lpspi4接口的CCR和其他寄存器具有不同的值。
我的疑问是,如果我使用原始的.axf 文件,为什么寄存器内容会不同?(为了以防万一,我尝试了 .s19版本具有相同的结果)。
也许 NXP-MCUboot 实用程序需要在原始图像中添加一些部分,因此需要一个头文件或 DCD 文件?
那么,我怎样才能拥有相同的配置?
我以前在另一个使用 imxrt1020 mcu 的项目中用过 DCD 文件,我理解通常使用 DCD 文件是因为您需要引导加载程序初始化一些寄存器和接口以从 sdram、flash 等启动引导过程。但在这种情况下,一切都已经开始了。
非常感谢您的帮助。