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:关于"闪存 SOC 初始化二进制"(对于 M4F)

Guru**** 2419530 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1527692/am625-regarding-the-flash-soc-initialization-binary-for-m4f

器件型号:AM625
Thread 中讨论的其他器件:UNIFLASH

工具/软件:

您好、
我收到了客户的以下问题。 请回答这些问题。

------------------------------------------------------------
【问题的背景】
我们正在考虑在 AM62x 上应用 M4F。
在网络手册中、对于 M4F 初始化过程、步骤“闪存 SOC 初始化二进制文件“需要使用 DIP 开关更改引导模式、然后通过 JTAG 和 UART 将 AM62x 连接到 PC(已安装 MCU SDK)以写入 SOC 二进制文件。
https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/09_02_01_06/exports/docs/api_guide_am62x/EVM_SETUP_PAGE.html#EVM_FLASH_SOC_INIT

但是、对每个已发货的产品板单独执行此程序可能需要大量的时间和精力。 因此、我们想知道在将 M4F 应用于产品时、是否可以省略这一步骤。
在这种情况下、您能否澄清以下几点?

问题 1: “闪存 SOC 初始化二进制“过程究竟有什么作用?
      它支持哪些功能或状态?
      如果省略此步骤、可能会出现哪些顾虑或问题?
即使尚未执行“闪存 SOC 初始化二进制“过程、只要  AM62x A53 上的 Linux dmesg 中出现以下日志消息、是否可以接受?    

    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
    
    [    5.897632] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
    [    5.906884] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    5.910385] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    5.916753] remoteproc remoteproc0: 5000000.m4fss is available
    [    5.929384] remoteproc remoteproc0: powering up 5000000.m4fss
    [    5.929410] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 511180
    [    5.938378] rproc-virtio rproc-virtio.0.auto: assigned reserved memory node m4f-dma-memory@9cb00000
    [    5.938577] rproc-virtio rproc-virtio.0.auto: registered virtio0 (type 7)
    [    5.938588] remoteproc remoteproc0: remote processor 5000000.m4fss is now up

问题 2:  例如、如果无法省略“SOC 初始化二进制“过程、是否有办法通过 A53 上 Linux 的命令行交互来替换该操作?  
------------------------------------------------------------

谢谢。此致、
田代浩一郎

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

    您好、Koichiro San、

    客户使用什么引导流程? SBL 或 SPL?

    有关更多信息、请参阅 AM62x Academy
    多核>引导>引导流程:SPL 与 SBL
    https://dev.ti.com/tirex/explore/node?node=A__AZdBTlT8UK2hNwHKXaPieQ__AM62-ACADEMY__uiYMDcq__LATEST

    我不确定我是否理解这个问题。 客户是否询问如何在引导期间将固件加载到 M4F 中?

    如果有这个问题、请参阅 AM62x 学院
    多核>引导>初始化远程内核的方法
    https://dev.ti.com/tirex/explore/node?node=A__AXoA3i9lx8c-jH8btw5.pA__AM62-ACADEMY__uiYMDcq__LATEST

    如果客户询问如何将文件系统及其他所有内容刷写到其生产板上、这是一个不同的概念。 如果您需要有关该主题的更多信息、我可以将您的主题发送给正确的团队成员。

    此致、

    Nick

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

    您好、Nick、

    请查看客户的以下反馈。
    ----------------------------
    感谢您的答复。
    这与 SPL 相关。 我认为它对应于您提供的 URL 中描述的“SPL 引导流程:Linux Remoteproc 驱动程序“。  

    为了进行澄清、我的问题与在启动期间加载 M4F 固件的方法无关。
    更具体地说、使用您提供的文档中的术语、我想确认在 SPL 引导流程中使用 Linux Remoteproc 驱动程序时是否可以省略网络手册 (software-dl.ti.com/.../EVM_SETUP_PAGE.html 中提到的“闪存 SOC 初始化二进制文件“步骤。
    ----------------------------

    谢谢。此致、
    田代浩一郎

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

    您好、Koichiro San、

    Linux Remoteproc 驱动程序与刷写无关。

    客户的电路板只需刷写一次。 之后、文件系统将出现在电路板上。

    但是、每次处理器启动时、都需要先将固件加载到 M4F 中、然后 M4F 才能开始执行代码。 Linux Remoteproc 驱动程序是一种工具、用于获取存储在板上的文件系统中的 M4F 二进制文件、并将二进制文件加载到 M4F 内核中。 使用 SPL 引导时、另一个工具是 U-Boot rproc 驱动程序。 客户可以参考我在上一个回复中的链接、了解更多信息。

    此致、

    Nick

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

    您好、Nick、

    我会离线给您发送几张幻灯片。 在幻灯片中、客户总结了他们的理解和顾虑。
    请查看并提供您的反馈。

    谢谢。此致、
    田代浩一郎

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

    您好、Koichiro San、

    感谢您分享离线幻灯片。

    设计背景

    对于未来的读者、此设计的计划是使用存储在 SD 卡中的 Linux 文件系统。

    将文件系统写入 EVM

    在任何设计中、文件系统都必须存储在电路板上的某个位置。

    如果文件系统存储在 NOR 闪存、NAND 闪存或 EMMC 中、则可以使用 Uniflash 等工具将文件系统刷写到该板载存储器中。 有关此刷写过程的更多信息、请参阅
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/09_02_01_06/exports/docs/api_guide_am62x/TOOLS_FLASH.html 

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/09_02_01_06/exports/docs/api_guide_am62x/GETTING_STARTED_FLASH.html

    但是、如果在将 SD 卡插入生产板之前将文件系统存储在 SD 卡上、则无需将文件系统刷 写到电路板上。

    为什么 MCU+ SDK 文档在“入门“部分告诉我刷写 SOC 初始化二进制文件?  

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/09_02_01_06/exports/docs/api_guide_am62x/EVM_SETUP_PAGE.html#EVM_FLASH_SOC_INIT

    在将 CCS 等调试器连接到 TI 处理器之前、需要启动并初始化处理器的某些部分。

    如果您在 SD 卡上引导 Linux、则 Linux 引导过程将初始化需要运行的所有时钟、电源域等、然后 CCS 才能连接到处理器。

    但是、如果您不引导 Linux、MCU+ SDK 介绍了如何将最小的引导加载程序刷写到其中一个板载存储器。 然后、您可修改引导模式引脚、通过最小的引导加载程序选择板载存储器、并让引导加载程序在将 CCS 连接到处理器之前初始化处理器。

    此致、

    Nick

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

    您好、Nick、

    感谢您的回答。 客户感谢您的详细说明。

    谢谢。此致、
    田代浩一郎