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.

[FAQ] [参考译文] [常见问题解答] SPL 引导:如何查找内置于 tispl.bin 中的 DM R5F 二进制文件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1513994/faq-spl-boot-how-to-find-the-dm-r5f-binary-that-is-built-into-tispl-bin

主题中讨论的其他器件:AM67、AM67A

主题中讨论的器件:  AM62x、AM62Ax、AM62Dx、AM62Px、AM67、 AM67A

设备管理(DM) R5F 内核的主要作用是运行 DM 任务。  但是、DM R5F 上可能还有其他非 DM 代码与 DM 任务一起运行。  在引导期间(SPL 引导或 SBL 引导期间)、DM R5F 内核上运行的固件将被初始化。

有关 SPL 引导和 SBL 引导的更多信息、请参阅 Processor 学院>多核>引导流程:SBL 与 SBL
AM62x ||  AM62Ax ||   AM62Px

使用 Linux SPL 引导流程时、检查 DM R5F 上正在运行的二进制文件的最快捷方法是查找内置于 tispl.bin 文件中的源文件。 但如何确定使用了哪个二进制文件? 这取决于 u-boot 文件的构建方式。

其他常见问题解答

以下是 RE 的辅助常见问题解答:[常见问题解答] DM R5F 在某些情况下可能崩溃:AM62x、AM62Ax、AM62Dx、AM62Px、AM67、 AM67A 问题" SPL 引导:如何查找内置于 tispl.bin 中的 DM R5F 二进制文件 "。

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

    U-Boot make 命令:SDK 8.6及更低版本

    以下是下 Linux SDK 文档中记录的构建步骤
    基础组件> U-Boot >用户指南>一般信息

    SDK 8.6链接: AM62xAM62Ax

    在该版本的 U-Boot (U-Boot 202.x)中、DM 固件作为 tispl.bin 的 make 命令中的参数传递。 如下所示:"DM=$DMFW_DIR/ipc_echo_testb_mcu1_0_release_strip.xer5f"

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

    U-Boot make 命令:SDK 9.x 和10.x

    以下是下 Linux SDK 文档中记录的构建步骤
    基础组件> U-Boot >用户指南>一般信息

    SDK 9.2链接: AM62xAM62Ax、AM62Px、 AM67、AM67A
    SDK 10.1链接: AM62xAM62Ax、AM62Px、 AM67、AM67A

    后续 U-Boot 版本(U-Boot 2023.x、U-Boot 2024.x)在 U-Boot 构建过程中使用 binman。

    包含 DM 固件的目录的路径可在 tispl.bin 的 make 命令中列为参数、如下所示:"BINMAN_INDIRS=$TI_LINUX_FW_DIR"。

    若要查看正在将哪个 DM 二进制文件内置到 tispl.bin 中、请转到 U-Boot 文件 arch/arm/dts/ 然后搜索条目"ti-dm"。

    AM67、AM67A 使用文件 k3-j722s-binman.dtsi。

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

    顶级 makefile:SDK 8.6及更早版本

    以下是 Linux SDK 文档中记录的以下构建步骤:
    概述>入门指南>使用 Makefile (AM62x、AM62Ax)构建 SDK

    SDK 文档链接位于回复 "U-Boot make 命令:SDK 8.6及更早版本"中

    在该版本的 U-Boot (U-Boot 202.x)中、DM 固件作为 tispl.bin 的 make 命令中的参数传递。

    在顶层 Makefile 中、如下所示:
    UBOOT_DMFW=$(TI_SDK_PATH)/board-support/prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f
    DM=(UBOOT_DMFW)

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

    顶级 makefile:SDK 9.x 和10.x

    以下是 Linux SDK 文档中记录的以下构建步骤:
    概述>入门指南>使用 Makefile 构建 SDK (AM62x、AM62Px)
    概述>使用顶级 Makefile (AM62Ax、AM67、AM67A)简化 SDK 构建

    SDK 文档链接位于回复 "U-Boot make 命令:SDK 9.x & 10.x"中

    包含 DM 固件的目录的路径在 makerules/Makefile u-boot 中作为参数列出。 类似如下:"BINMAN_INDIRS=$(TI_LINUX_FILE)"。

    若要查看正在将哪个 DM 二进制文件内置到 tispl.bin 中、请转到 U-Boot 文件 arch/arm/dts/ 然后搜索条目"ti-dm"。

    AM67、AM67A 使用文件 k3-j722s-binman.dtsi。

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

    Yocto 构建

    我没有太多 Yocto 经验。 此信息不完整且未经测试、因此请在盲目执行以下步骤之前进行验证。 如果您有可以添加到此页面的更新、请创建一个新的 e2e 主题并给我添加标签。

    某些 Yocto 文档位于下的 Linux SDK 文档中
    概述>构建 SDK

    概述>使用 Yocto 构建 SDK

    早期答复中提供了文档链接: SDK 8.6SDK 9.1和 SDK 10.1

    在 Yocto 中构建 u-boot  

    # Clean "tiboot3.bin" related build artifacts
    $ MACHINE=am62xx-evm bitbake -c clean mc:k3r5:u-boot
    
    # Build and deploy "tiboot3.bin" (and its device-specific variants)
    $ MACHINE=am62xx-evm bitbake -c deploy mc:k3r5:u-boot
    
    # Clean "tispl.bin" and "u-boot.img" related build artifacts
    $ MACHINE=am62xx-evm bitbake -c clean u-boot 
    
    # Build and deploy "tispl.bin" and "u-boot.img"
    $ MACHINE=am62xx-evm bitbake -c deploy u-boot

    tispl.bin 文件的实际创建位置是在哪里?  

    目前、我无法准确确定 Yocto 构建中如何使用每个文件、以及是否所有构建都需要调用这两个文件。

    repo: meta-ti

    分支:kirkstone (SDK 8.x、9.x)或 scarthgap (SDK 10.x)

    meta-ti-BSP/食谱-bsp/ti-dm-fw/ti-dm-fw.bb
    该文件 从 ti-linux-firmware 存储库中获取 DM R5F 固件并安装/部署固件

    meta-ti-BSP/recies-BSP/u-boot/u-boot-ti.inc.
    二进制文件作为参数 TI_DM 传递

    仅限 AM62Ax:在 kirkstone 分支中、似乎获取了 ti-linux-firmware 的 ipc_rpmsg_echo_linux 二进制文件、而不是 VPAC/ISP 二进制文件。 我不确定是否有另一个脚本在本地复制 VPAC/ISP 二进制文件而不是运行 ti-dm-FW.bb。