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:在 eMMC 中刷写时 u-boot 无法引导

Guru**** 2487425 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1439786/am625-u-boot-failed-to-boot-when-flashed-in-emmc

器件型号:AM625

工具与软件:

您好!

我按照手册创建 u-boot : https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_00_07_04/exports/docs/linux/Foundational_Components U242-Boot/UG-General-Info.html#build-u-boot

I use a custom board based on the AM62x SK EVM design, this booard works fine with SDK 09.02 witht u-boot in eMMC.
I used the configuration am62x_evm_r5_ethboot_defconfig and
am62x_evm_a53_ethboot_defconfig.
I put the files tiboot3.bin, tispl.bin and u-boot.img in the tft server directory, and boot linux using nfs.
This is working fine.

But when the 3 files are copied in the partition mmcblk0boot0 partition it is not booting.
I also try to use the default configuration am62x_evm_r5_defconfig and
am62x_evm_a53_defconfig, and flashing it in mmcblk0boot0, but the result is the same.
The u-boot console doesn't print any log showing the boot sequence.

Could you clarify what has change between tisdk 09.02 and tisdk 10.00 that lead to make u-boot not booting in eMMC.

I try the tisdk 10.00.07 wic image download from ti website, but the u-boot failed with the following error:
k3_system_controller sysctrler: k3_sysctrler_start: Boot Notification response failed. ret = -110.
Firmware init failed on rproc (-110)

ressetting ...


It is a critical issue for us, because we need to deliver a working board at the end of the week.
Could you quickly give us a feedback ?

Regards,

Alexis.

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

    您好!

    dev_here 说:
    但是当在分区 mmcblk0boot0中复制了3个文件时、它无法引导。

    您是否已使用以下指南刷写了 U-Boot 二进制文件?

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_00_07_04/exports/docs/linux/Foundational_Components U-Boot/UG-Memory.html#booting-tiboot3-bin-tispl-bin-and-u-boot-img-from-eMMC-boot-partition-for-k3-class-of-SoCs.

    此致、

    Prashant

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

    您好 Prashan:

    如前面所述、闪存过程正确无误、因为通过 SDK 09.02生成的 u-boot 正在引导。

    但这是我用于闪存的方法。

    Linux 控制台:

    1- Set eMMC as writable
    # echo 0 > /sys/block/mmcblk0boot0/force_ro

    2- Copy boot files dd if=tiboot3.bin of=/dev/mmcblk0boot0 seek=0 dd if=tispl.bin of=/dev/mmcblk0boot0 seek=1024 dd if=u-boot.img of=/dev/mmcblk0boot0 seek=5120
    u-boot console:
    => mmc partconf 0 1 1 1
    => mmc bootbus 0 2 0 0
    => mmc rst-function 0 1

    By using the SD Card boot with the
    tisdk 10.00.07 wic image download from ti website I got this error.
    k3_system_controller sysctrler: k3_sysctrler_start: Boot Notification response failed. ret = -110.
    Firmware init failed on rproc (-110)
    I didn't try the same test by flashing this binaries in eMMC boot partition, but I assume the error will be the same.
    Could you clarify what is this error and what kind of issue produce it ?

    Regards,

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

    您好!

    您能否通过以下常见问题解答查看所使用的器件类型

    (+)[常见问题解答][AM6XX]:如何检查器件类型是 HS-SE、FS 还是 GP? -处理器论坛-处理器- TI E2E 支持论坛

    此致、

    Prashant

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

    您好!

    你能读我以前的消息吗,我不能浪费时间告诉事情两次。

    问题不是 HSFS、内核 eMMC 闪存、而是仅与 TISDK 10 u-boot 版本有关。

    您需要说明的是 ti u-boot 中的哪种变化能够解释 TiSDK9的 u-boot 和 TiSDK 10的 u-boot 之间的此类差异。

    感谢您的帮助。

    此致、

    Alexis。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="52392" url="~/support/processors-group/processors/f/processors-forum/1439786/am625-u-boot-failed-to-boot-when-flashed-in-emmc/5525356 #5525356"]您需要解释的是 ti-boot 中的哪种变化能够解释 TiSDK9的 u-boot 与 TiSDK 10的 u-boot 之间的这种差异。

    没有任何更改会导致此问题。

    如果您可以共享工作和不工作的 U-Boot 映像、我可以尝试在本地验证它们。

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

    尊敬的 Prashan:

    tiboot3.bin、tispl.bin、u-boot.img 在 AM62x SK EVM 板上可以正常运行、但在我们的定制板上无法正常运行。

    我可以为您提供文件、但如果您在 AM62x EVM SK 板上运行它、则不会遇到任何问题。

    你想做什么?"

    我在电路板上使用 tisdk 9 u-boot 映像时没有遇到任何问题。

    因此我怀疑 SDK 9和10之间启用了某个功能、导致出现错误消息:Boot Notification response failed. ret = -110""。

    但我想你确认或不确认这一点,然后我不会调查它。

    u-boot 文件默认为 HS-SDK、因此问题与签名无关、我遵循手册将闪存刷写到闪存、并构建 FS 和 u-boot。

    当 ethboot 正常工作时、启动电路板就没有问题。

    以太网引导和 eMMC/SDCard 引导之间的引导流程有何区别?

    您能解释错误信息的含义吗?

    如何调试该问题?

    感谢您的帮助。

    此致、

    Alexis。

     

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

    您好!

    您想做什么?

    请分享图片、以防我发现他们有任何帮助。

    [报价 userid="52392" url="~/support/processors-group/processors/f/processors-forum/1439786/am625-u-boot-failed-to-boot-when-flashed-in-emmc/5525434 #55254344"]

    导致出现错误消息:Boot Notification response failed. ret = -110""。

    [报价]

    当 R5 SPL 未从 TIFS 获取引导通知响应消息时、会发生此错误。 如果`tiboot3.bin`的类型不正确或 ROM 读取的映像不正确、就可能会发生这种情况。

    假设在后一种情况下、您可以尝试使用不同的 SD 卡品牌吗?

    以太网引导和 eMMC/SDCard 引导之间的引导流程有何区别?

    唯一的区别是映像加载、如 TRM 初始化一章中所述。

    谢谢!

    Prashant

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

    Prashan

    我马上准备好文件、然后发送给您。

    Alexis。

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

    e2e.ti.com/.../u_2D00_boot_2D00_files.tgz.base64.txt

    Prashan

    我无法上传二进制格式的文件,所以我在 base64中转换。

    使用以下命令获取归档文件:

    Base64 -d u-boot-files.tgz.base64.txt > archive.tgz。

    因此我包含 tisdk u-boot 基本文件、有效的 ethboot u-boot 文件以及默认配置 am62x_evm_a53_defconfig 手动构建。

    如果您看到了什么、请告诉我。

    我在不同的 SD 卡上测试 fil e、它是相同的。

    远程 proc 驱动程序失败、是否必须将其包含在 u-boot 中?

    此致、

    Alexis。

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

    尊敬的 Prashan:

    我从头开始重新构建了所有 u-boot、并使用之前相同的方法将其刷写到 eMMC 中。

    这次启动工作,我不知道是什么问题,但它消失了。

    您能否确认是否允许在 OUT/R5和 OUT/A53生成之间对 u-boot 进行"清理"?

    因此、我能够使用4GB DDR 配置从 eMMC 进行引导。

    我需要在 u-boot config 中禁用器件树的功能固定、因为它会将 DE RAM 大小限制为2GB。

    我会告诉您问题是否会永久解决。

    感谢您的帮助。

    Alexis。

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

    尊敬的 Alexis:

    这很奇怪、但很高兴知道它终于开始工作。 SD 卡引导功能是否也能正常工作?

    您能否确认是否允许生成 out/R5和 out/A53之间的 u-boot "清理"?

    我不知道你想问什么。 但是、在构建 R5和 A53之前进行清理肯定是可以的。

    此致、

    Prashant

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

    尊敬的 Prashan:

    下面是我的脚本:

       # R5
       以构建 tiboot3.bin。 保存在${uBoot_DIR}/out/r5.中
       AM62X 供电
       使 ARCH=arm CROSS_COMPILE=${XCOMPILER_32}- O=${uBoot_DIR}/out/r5 clean
       使 ARCH=arm CROSS_COMPILE=${XCOMPILER_32}- am62x_EVM_R5_defconfig O=${uBoot_DIR}/out/r5
       使 ARCH=arm CROSS_COMPILE=${XCOMPILER_32}- O=${uBoot_DIR}/out/r5 BINMAN_INDIRS=${TI_LINUX_FW_DIR}
       # A53.
       #以构建 tispl.bin 和 u-boot.img。 保存在${uBoot_DIR}/out/a53.中 需要 bl31.bin、tee-pager_v2.bin
       AM62X 或 AM62SIP 为#
       make ARCH=arm CROSS_COMPILE=${XCOMPILER_64}- CLEAN O=${uBoot_DIR}/out/a53
       使 ARCH=arm CROSS_COMPILE=${XCOMPILER_64}- am62x_EVM_A53_defconfig O=${uBoot_DIR}/out/a53
       使 ARCH=arm CROSS_COMPILE=${XCOMPILER_64}- BL31=${TFA_DIR}/build/k3/lite/release/bl31.bin TEE=${OPTEE_DIR}/out/arm-plat-k3/core/tee-pager_v2.bin O=${uBoot_DIR}/out/a53 BINMAN_INDIRS=${TI_LINUX_FW_DIR}

    我在 R5和 A53之间做一个清理,有一些中间体文件的 R5可以清理,但用于 A53的构建?

    默认情况下、我在脚本开头移动了所有 clean。

    至于器件树修复 u-boot 中的代码、您能否解释一下为什么如果它启用、那么我就不能将 DDR 大小设置为4GB。

    我需要禁用它来应用4GB 存储器尺寸 dtbo 重叠区。

    此致、

    Alexis。