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.

TDA4VM: 如何加载k3-j721e-vision-apps.dtbo

Part Number: TDA4VM

在SPL->Uboot->Linux的启动流程中,由Uboot加载 k3-j721e-vision-apps.dtbo。
但是删除掉Uboot之后,用SBL直接启动Linux的时候,如何加载k3-j721e-vision-apps.dtbo?

  • 您好,

    在 SPL 直接启动 Linux 的情况下,需要在 Linux 内核启动参数中指定设备树文件(Device Tree Blob,即 dtb 文件),并在 dtb 文件中包含 k3-j721e-vision-apps.dtbo 的内容。

    具体步骤如下:

    1. 在 Linux 内核启动参数中添加 `-d` 选项,指定 dtb 文件路径。例如,如果 dtb 文件名为 `k3-j721e-evm.dtb`,则启动参数可以设置为:

    booti <kernel_addr> -d /boot/dtbs/k3-j721e-evm.dtb

    其中,`<kernel_addr>` 是内核镜像在内存中的地址,`/boot/dtbs/k3-j721e-evm.dtb` 是 dtb 文件的路径。

    2. 在 dtb 文件中包含 k3-j721e-vision-apps.dtbo 的内容。可以使用 `dtc` 命令将 dtbo 文件编译成 dtb 格式,并将其包含在主 dtb 文件中。具体步骤如下:

    - 在 Linux 系统中安装 dtc 工具。可以使用以下命令安装:

    sudo apt-get install device-tree-compiler

    - 将 k3-j721e-vision-apps.dtbo 编译成 dtb 格式。可以使用以下命令:

    dtc -I dts -O dtb -o k3-j721e-vision-apps.dtb k3-j721e-vision-apps.dtbo

    其中,`-I dts` 表示输入文件格式为 dts,`-O dtb` 表示输出文件格式为 dtb,`-o k3-j721e-vision-apps.dtb` 表示输出文件名为 k3-j721e-vision-apps.dtb。

    - 将 k3-j721e-vision-apps.dtb 包含在主 dtb 文件中。可以使用以下命令:

    cat k3-j721e-evm.dtb k3-j721e-vision-apps.dtb > k3-j721e-evm-with-vision-apps.dtb

    其中,`k3-j721e-evm.dtb` 是主 dtb 文件名,`k3-j721e-vision-apps.dtb` 是包含 k3-j721e-vision-apps.dtbo 的 dtb 文件名,`k3-j721e-evm-with-vision-apps.dtb` 是输出的包含 k3-j721e-vision-apps.dtbo 的 dtb 文件名。

    3. 在 Linux 内核启动参数中指定包含 k3-j721e-vision-apps.dtbo 的 dtb 文件路径。例如:

    booti <kernel_addr> -d /boot/dtbs/k3-j721e-evm-with-vision-apps.dtb

    其中,`/boot/dtbs/k3-j721e-evm-with-vision-apps.dtb` 是包含 k3-j721e-vision-apps.dtbo 的 dtb 文件路径。

    希望这可以帮助您解决问题。如果您有其他问题,请随时提问。

  • 谢谢回答。

    但是不是SPL 直接启动 Linux ,是SBL直接启动Linux。

  • 您好,

    您是正确的,SBL是负责启动Linux的组件,而不是SPL。感谢您的纠正。