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.

[参考译文] DRA821U:无法在 J7200 R5F MCU 内核 0 上加载固件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0

器件型号: DRA821U

您好:

我们正在 开发 J7200 平台 、目标是  使用 Remoteproc 从 Linux 中的一个 R5F 内核上加载我们自己的固件。

但是、我们面临着 与 remoteproc0 对应的内核 MCU 内核 0 的问题、该问题始终在 连接 状态下报告、我们无法加载或启动其中的任何固件。

image.png

状态始终为连接状态、 任何停止/启动或加载固件的尝试都不起作用。 其他 R5F 内核按预期运行(离线模式) 、因为已经从 u-boot 向这些内核分配了任何固件。

R5F 内核在器件树中以拆分模式配置 (SDK 中包含 k3-j7200-mcu-wakeup.dtsi):
image.png

从文档和一些论坛主题中、我们了解到:

  • 当内核处于“连接“状态时、意味着它已在 Linux 之前引导(例如通过 SPL/U-Boot)。 在这种情况下、Linux 不会控制核心的生命周期(启动/停止)。
  • MCU R5F 内核 0 可以运行 tispl.bin 中包含的固件 (设备管理器/SciServer 固件)。 此固件会在引导过程的早期启动、并可能负责系统控制。

我们希望了解以下内容:

  1. 如果 remoteproc0 (MCU R5F) 内核有效保留用于运行该系统固件、 根据我们收集的信息、该内核似乎正在执行作为 tispl.bin 的一部分加载的固件。
  2. 如果可以通过任何受支持的方法从 Linux 在此内核上加载自定义固件、或者这样做一定需要修改引导流程。

其他信息:

  • Linux 在 A72 内核上运行
  • 适用于 J7200 的 Processor SDK Linux、版本 11.00.10.01
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    MCU R5F0 是一种特殊情况、因为 TI 器件管理器二进制文件需要在 MCU R5F0 上运行。

    您是对的、这是 tispl.bin 的一部分:

    R5 DM FW 是 MCU0 固件。 它始终由 R5 SPL 加载、因为直接的下一个引导阶段需要它。 因此、可以考虑重新构建 tispl.bin、将默认的 DM FW 替换为自定义二进制文件。

    - Keerthy

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

    您好 Kerthy、

    根据我的理解、一旦 Linux 在 A72 上运行、就无法通过 Remoteproc 将固件加载到该内核。 是这样吗?

    如果是这种情况、使该内核在 Linux 环境中可用或可见的目的是什么?

    我们希望在该内核上开发和测试定制固件、主要是为了验证某些 UART 接口。 您能否说明应该针对此类应用修改哪些文件或组件?

    我也有关于 R5 DM 固件的一些问题:

    1. R5 DM 固件是否只是引导流程的一部分、或者它是否继续永久运行以管理/监控系统?
    2. 如果我们在这个内核上加载自定义固件来测试 UART、这会如何影响引导流?
    3. R5 DM 固件对系统运行的重要性如何? 我们过去是否也可以获得有关正在运行的系统的信息?
    4. Linux 启动后是否可以停止此固件、然后使用 Remoteproc 加载我们自己的二进制文件?

    最后、您能否为我们推荐有关为此内核开发自定义固件/应用的开发人员指南或文档?

    谢谢、

    Santi

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

    您好、

    [报价 userid=“656660“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6399645

    根据我的理解、一旦 Linux 在 A72 上运行、就无法通过 Remoteproc 将固件加载到该内核。 是这样吗?

    [/报价]

    是的。 这需要在 R5 SPL 级很早就开始。 所有内核都依赖于 MCU1_0 来提供器件管理服务。

    [报价 userid=“656660“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6399645

    如果是这种情况、使该内核在 Linux 环境中可用或可见的目的是什么?

    [/报价]

    Linux 可以使用此内核实现 IPC。 Linux 的一般理念是公开器件树中的所有可用内核。

    [报价 userid=“656660“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6399645
    • R5 DM 固件是否只是引导流程的一部分、或者它是否继续永久运行以管理/监控系统?
    [/报价]

    永久设备管理器。 任何运行时时钟更改启用和模块开启/关闭都由该软件完成。

    [报价 userid=“656660“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6399645
    • 如果我们在这个内核上加载自定义固件来测试 UART、这会如何影响引导流?
    [/报价]

    这是非常可能的、事实上、许多客户确实在 DM 功能之上使用自定义固件和自定义软件。

    [报价 userid=“656660“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6399645
    • R5 DM 固件对系统运行的重要性如何? 我们过去是否也可以获得有关正在运行的系统的信息?
    [/报价]

    正如我所说的、这是强制性的。

    [报价 userid=“656660“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6399645
    1. Linux 启动后是否可以停止此固件、然后使用 Remoteproc 加载我们自己的二进制文件?

    [/报价]

    编号

    我将联系我们的设备管理器专家以获取进一步的指导。

    - Keerthy

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

    您好、

    [引述 userid=“274047“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6400990
    • R5 DM 固件对系统运行的重要性如何? 我们过去是否也可以获得有关正在运行的系统的信息?
    [/报价]

    因为 MCU1_0 是一个设备管理器 (SciServer)、负责管理 UDMA 分配的时钟、功率和资源。

    [引述 userid=“274047“ url=“~/support/processors-group/processors/f/processors-forum/1659504/dra821u-unable-to-load-firmware-on-j7200-r5f-mcu-core-0/6400990
    1. Linux 启动后是否可以停止此固件、然后使用 Remoteproc 加载我们自己的二进制文件?

    编号

    [/报价]

    不应在运行时停止/启动 MCU1_0 内核上的固件并重新加载、这将影响整个系统、因为它是 SoC 的集中式资源管理器。

    此致、
    Sudheer