主题中讨论的其他器件: 闪存编程器、 TLV803
您好!
我们设计了定制的 AM4377板、从 QSPI-Flash 引导时遇到一些问题。 电路板本身使用 XDS 调试器运行正常-我们能够将时钟频率更改为1GHz、DDR3-RAM 测试工作正常、电源定序似乎正常、电源似乎非常稳定。 我们可以使用闪存编程器对 QSPI 进行编程(针对特定闪存所需的命令进行了更改)。
闪存 MX25L3233FZNI-08Q 似乎符合数据表中的 QSPI-specifications 5.12.14和技术参考中的5.2.6.7。
作为用于引导的 SYSBOOT 配置、我们使用 UART0-SPI-QSPI-MMC1 (110'0100'0000'0101'1010)和 QSPI (110'0100'0000'0100'1010)模式。
器件根据以下原理图摘录进行连接:
但是、对于冷启动和热复位启动、我们会发出一些问题:
在大约每隔一个引导周期(重置或下电上电)、主板引导正常-在控制台上打印引导加载程序消息、将核心频率设置为800MHz 并从 Starterware 执行内存测试。 但是、在控制台上打印消息之前、它会在其他情况下挂起-在次级引导加载程序之前或之后挂起。 选择 UART0-SPI-QSPI-MMC1引导模式时、AM4377会在控制台上打印8x "C"以启动 UART 引导、然后尝试以相同的成功启动 QSPI-FLASH -每次成功启动时、 每次它挂起后、才能将消息打印到控制台。
由于电源定序和电源稳定性看起来不错、我们最可能的原因似乎是 QSPI-Flash 的不兼容性。。。
我们还尝试选择单读模式而不是四读模式、但每次在单读模式下引导都失败。
这是某些 QSPI-Flashs 的已知行为吗? 您是否有已知可正常工作的 QSPI 存储器列表? 或者可以有其他提示吗?
非常感谢您的帮助、
祝你度过美好的一天!
Bernd
PS:引导失败时、ROM 引导加载程序会保留在地址0x0003008c:"b#0x3008c"