我目前正在尝试使用 IMXRT106x 设备调试定制板,该设备的大部分灵感来自 IMXRT1060 EVKB 板。当我们使用来自 NXP 合作伙伴的 BSP,它使用 u-boot 作为引导加载程序时,我正在尝试调整我的 u-boot 设置以从我们的自定义板引导,但由于该板无法引导,所以到目前为止失败了……
到目前为止,我已经能够验证我们实际上可以使用为 EVKB 板提供的 ivt_flashloader.bin 文件和实用程序从我们的 FlexSPI NOR 闪存读取/写入。为了进步我实际上有两个问题:
- 有人可以向我解释一下为 EVKB 板提供的 ivt_flashloader.bin 如何为我们工作,因为我们知道在我们的例子中连接到 flex SPI 接口的 SPI 闪存是 Adesto AT25SF041。ivf_flashloader.bin 如何适应另一个闪存而不是 EVKB 板上引用的闪存?
编辑:查看 MCU Expresso 的闪存加载程序项目,似乎是利用 SFDP 使其设置适应所连接的芯片。但是,AT25SF041 不支持 SFDP。知道如何使用以下 blhost 命令,我实际上可以读取/写入闪存并且没有错误:
blhost.exe -p COM8 -V -- fill-memory 0x2000 4 0xc0000007 (120 Mhz for the clock)
blhost.exe -p COM8 -- configure-memory 0x9 0x2000 (target should be a 'Serial NOR over FlexSPI module')这是因为 AT25SF041 的时钟频率最高应为 80 MHz 才能支持整组命令。
- 是否有任何方法(例如通过将 DCD 文件添加到 ivt_flashloader.bin)来激活 SEMC 到 SDRAM 的接口,以便我们可以验证我们实际上可以读取和写入 SDRAM?如果是,我如何找到/生成兼容的 DCD 内容?