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.

[参考译文] TDA4VH-Q1:使用 initramfs 从 ospi 引导错误:错误:未找到命令行平展的设备树

Guru**** 2395365 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490752/tda4vh-q1-boot-from-ospi-using-initramfs-error-error-did-not-find-a-cmdline-flattened-device-tree

器件型号:TDA4VH-Q1

工具与软件:

您好、TI 专家
SDK:10.01
电路板:J784S4_EVM

我使用了 dfu 来刷写 ospi、并从 ospi 引导、然后使用 initramfs。

在我完成刷写的第一阶段并进入 uboot 后、我使用以下命令对 dfu_alt_info_ospi 布局:

env default -f -a
setenv dfu_alt_info_ospi "tiboot3.bin raw 0x0 0x080000; tispl.bin raw 0x080000 0x200000; u-boot.img raw 0x280000 0x400000; u-boot-env raw 0x680000 0x020000; Image raw 0x6c0000 0x1300000; K3-J784s4-dtb raw  0x19c0000  0x020000; rootfs raw 0x19e0000 0x2620000"
setenv dfu_alt_info ${dfu_alt_info_ospi}
dfu 0 sf 0:0


当我返回主机时:



现在、我使用 DFU 来刷写所有闪存。

然后将 boot mode 切换到 ospi 并输入 uboot:







然后、我使用以下命令来设置启动参数:

setenv bootargs "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02880000 vm.overcommit_ratio=5 vm.overcommit_memory=2 root=/dev/ram0 rootfstype=ramfs initrd=0x84000000 init=/init"
setenv bootcmd "setenv autoload no; sf probe; sf read  0x82000000 0x6c0000 0x1300000; sf read 0x81200000 0x19c0000 0x20000; sf read 0x84000000 0x19e0000 0x800000; booti 0x82000000 0x84000000:0x800000 0x81200000"
boot


但当引导时, booti 无法找到 dtb...:


当我在第二阶段刷新了所有固件、包括 dtb、image、loves.cpio 时、没有错误、全部成功下载。

当我检查 DTB 的加载地址时、发现它是空的

如何解决该问题?



此致
伊森










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

    您好、TI 专家

    也许 我已经找到了原因。 DFU 无法将 dtb 和内核(图像)写入 ospi。 我应该以什么格式将 DTB 和映像直接刷写到 OSPI?

    如何生成 UBIFS 格式的文件系统、以便 DFU 能够成功刷写到 ospi、以及如何修改 uboot 的引导参数、使内核能够成功安装 UBIFS?

    此致
    伊森

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

    尊敬的 EASON:

    我已就此问题指派了相应的专家。感谢您的耐心。

    此致

    Gokul

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

    你好、Gokul

    有什么建议吗?

    此致
    伊森

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

    尊敬的 EASON:

    能否打印出 u-boot 中的所有环境变量? 您是否已将包含 DTB 地址的变量修改为0x81200000?

    此致、
    Tanmay

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

    您好、Tanmay

    我刚刚完成了调试并解决了它

    现在仍然有一个问题、如何生成 ubif 以及如何装入它?


    此致
    伊森

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

    尊敬的 EASON:

    我觉得我们还没有尝试过 Jacinto 器件相关的 ubif。 因此、这种情况没有流动。

    然而,我找到了办法,使这里的图像: https://software-dl.ti.com/processor-sdk-linux/esd/AM437X/09_03_05_02/exports/docs/linux/Foundational_Components /内核/ Kernel_Drivers / UBIFS.html

    请看一下它是否有帮助。

    此致、
    Tanmay