Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG
器件型号: AM2432
Thread 中讨论的其他器件: UNIFLASH、 SYSCONFIG
您好、
我们在 OSPI 接口上将 AM243x 与定制的 QSPI 闪存 A (GigaDevice GD25Q64E) 搭配使用。 我们已经创建了一个自定义 flasher_JTAG_uniflash 工程、用于使用 uniflash 工具对闪存进行编程、并创建一个自定义 SBL 用于将应用程序从自定义闪存复制到 RAM。 这种方法已经很好了。 此外、在 SBL 中写入闪存也是可以的。
在第一步中、对于固件升级过程、我将固件映像从闪存 A 中的某个位置复制到闪存 A 中的另一个位置、反之亦然。 这是按部门进行的、没有任何问题。
第二步、我们在 MCSPI (SPI2) 上连接了第二个相同类型的自定义闪存 B (GigaDevice GD25Q64E)。 目标是将固件映像从闪存 B 中的位置复制到闪存 A 中的位置、反之亦然。 对于复制、我使用相同的代码、但驱动程序用于对闪存 B 进行读取/写入、因为它通过 MCSPI 而不是通过 OSPI 接口进行连接。
现在、在上述设置中、我在写入闪存 A (OSPI) 期间遇到以下问题:
在 OSPI_waitIndWriteComplete() 中、代码无法检测进程的完成并返回错误。 现在、我怀疑 MCSPI 的通信会以某种方式干扰到与 OSPI 的通信。 但我无法理解。 MCSPI 和 OSPI 绝不会并行。 您是否认为此设置中可能会出现什么问题? 两个外设之间共享什么? DMA?
为了便于参考、我添加了 syscfg 文件。
谨提前感谢。
Peta