This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:如果 TI AM625x 上的引导优先级为 SD、则 OSPI 控制器断电

Guru**** 2428030 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1538644/am625-ospi-controller-powers-down-if-boot-priority-is-sd-on-ti-am625x

器件型号:AM625


工具/软件:

您好:

‑具有基于 TI AM625x 处理器的单个 I ² C 板计算机。 该处理器的 OSPI 端口使用专有命令连接到加密的 SPI‑NOR 闪存、因此无法以正常方式访问。 (对于引导,它运行标准命令,然后自行锁定,系统通常从该闪存引导。)

值得注意的是、闪存的专有命令比 Stig 命令集长、因此我们不能使用 Stig 来控制此器件。 ‑能够对闪存进行编程、经过长时间的努力、我们反转了 T Ü V S Ü D 从 MCU + SDK 中工程了必要的命令和地址、现在以全速通过其四通道模式寄存器驱动闪存芯片。

但是、我现在遇到了 Cadence OSPI 寄存器的问题。 如果系统的主引导器件是 OSPI、则一切正常。 但是、如果引导优先级设置为 SD(因此 CPU 甚至不会尝试从 OSPI 进行引导)、Cadence 控制器会停止响应命令、看起来会断电。

此‑对于电路板的现场恢复至关重要、例如、如果电路板由于暴露于强磁场或其他客户现场事件而丢失了其闪存内容。 是否有任何寄存器写入或命令序列来通过其寄存器重新‑启用(上电)OSPI 控制器?

作为参考、我们使用 BeaglePlay 软件包运行 TI 的 Linux 内核 ti‑Linux‑kernel‑10.01.10 (Linux 6.6)、并且我们的编程实用程序通过 /dev/mem.的 mmap 在用户空间中运行

感谢您的指导。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hossein:

    但是、我现在遇到了 Cadence OSPI 寄存器的问题。 如果系统的主引导器件是 OSPI、则一切正常。 但是、如果引导优先级设置为 SD(因此 CPU 甚至不会尝试从 OSPI 引导)、Cadence 控制器会停止响应命令、看起来会断电。

    通常、外设模块由其各自的内核驱动程序进行初始化、进而通过平均方式与系统的设备管理器 (DM) 固件通信来配置外设工作状态、时钟等 我想您根本就不会再在 SD 卡引导的情况下使用 OSPI 内核驱动程序、因此可能不会发生所需的一些低级初始化?

    尝试使用如下所示的`k3conf`工具来检查和操作低电平 OSPI 外设使能和时钟状态。 您还可以比较工作场景与非工作场景、并查看是否存在差异、然后尝试使用`k3conf`工具来操作外设(它在后台与设备管理器固件通信,就像通过内核的时钟/电源/复位框架传输适当的 OSPI 内核驱动程序)。

    最后、如果要手动执行操作、如果未使用内核驱动程序、可能还需要考虑 pinmux。

    此致、Andreas