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.

[参考译文] TDA4AL-Q1:TDA4AL eMMC 引导。

Guru**** 2550550 points
Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1346548/tda4al-q1-tda4al-emmc-booting

器件型号:TDA4AL-Q1
主题中讨论的其他器件:TDA4VM

您好、TI 专家。

参考资料

https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j721s2/09_01_00_06/exports/docs/linux/How_to_Guides/Target/How_to_flash_emmc_device.html

https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j721s2/09_01_00_06/exports/docs/psdk_rtos/docs/user_guide/evm_setup_j721s2.html#boot-modes

我有一些关于 j721s2 EVK 的问题。

  1. 在没有 ospi/QSPI 的情况下、只能使用 eMMC 引导吗?
    1. 是否只能使用 eMMC 引导、如何实现?
    2. 当需要 NOR 闪存时、使用 QSPI 和 eMMC 引导的步骤是什么?
  2. 刷写模式
    1. v09x SDK 不包含 mksdboot.sh 脚本。
    2. 本文档涵盖与 rootfs 相关的方面。 您能否提供有关刷写引导分区的指导?
  3. EVM 引导模式。
    1. 本文档包含有关设置 SD 引导模式、XSPI 引导模式和 UART 引导模式的说明。 如何设置 eMMC 引导模式?

此致、

JK

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

    尊敬的 JK:

    • 是否只能使用 eMMC 引导、如何实现?
    [/报价]

    您计划使用 Linux 还是 RTOS? Linux SPL 引导加载程序支持 eMMC 引导。

    https://e2e.ti.com/support/processors/f/791/t/1067116

    参考了如何从 J721e 上的 eMMC 引导 SBL。

      1. 当需要 NOR 闪存时、使用 QSPI 和 eMMC 引导的步骤是什么?
    [/报价]

    您是指用于引导的 QSPI 和用于 rootfs 的 eMMC?

    Unknown 说:
    正在闪烁
    1. v09x SDK 不包含 mksdboot.sh 脚本。
    2. 本文档涵盖与 rootfs 相关的方面。 您能否提供有关刷写引导分区的指导?
    [/报价]

    已从 mksdboot.sh 重命名为 create-sdcard.sh

      1. 本文档包含有关设置 SD 引导模式、XSPI 引导模式和 UART 引导模式的说明。 如何设置 eMMC 引导模式?

    [/报价]

    RTOS SDK 默认不支持 eMMC 引导。

    -基尔西

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

    Keerthy、您好!

    我要使用 RTOS SDK。

    是否 有办法通过 RTOS SDK 仅使用 eMMC 进行引导?

    如果无法仅使用 eMMC 进行引导、则要使用 QSPI+eMMC。

    您提供的基准适用于 J721e。 J721s2是否相同?

    特别是、sbl_mmcsd.c 文件中没有与 j721s2相关的宏。

    此致、

    JK

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

    尊敬的 JK:

    如果您计划使用 eMMC 加载 RTOS 应用、则可以查看以下链接 https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j721s2/09_02_00_05/exports/docs/pdk_j721s2_09_02_00_30/docs/userguide/j721s2/boot/boot_k3.html#boot-modes 

    但 eMMC 引导模式尚不支持使用 SBL 引导流程进行 HLOS 引导

    此致、
    帕尔特

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

    您好、Parth。

    无论 SBL 或 SPL 如何、我都要使用 HLOS。

    换句话说、您可以使用 SPL 或 SBL。

    但是、我们需要在 J721S2 SDK 中对 TDA4AL 进行修改。

    因此、我们可以重新编译 PDK 并将其使用。

    我想了解的是如何仅使用 eMMC 或同时使用 eMMC 和 QSPI 进行引导。

    此致、

    JK

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

    您好!

    该主题将分配给我们在印度办事处的工程师。 由于当地假期、我们团队的一半员工不在办公室。 请预计回复会延迟1~2 μ s 天。

    很抱歉耽误你的时间,感谢你的耐心。

    谢谢。

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

    尊敬的 JK:

    无论 SBL 或 SPL 如何、都要使用 HLOS。

    换句话说、您可以使用 SPL 或 SBL。

    [/报价]

    在这种情况下、您需要使用 Linux SPL 引导流程本身、因为带 eMMC 的 RTOS SBL 引导流程不支持 HLOS 引导。

    但是,我们需要在 J721S2 SDK 中对 TDA4AL 进行修改。

    我相信、您想要在 RTOS SDK 中自定义远程核心固件吗? 这是可能的、这不是问题。

    我想知道的是如何只使用 eMMC 或同时使用 eMMC 和 QSPI 进行引导。

    您可以仅使用具有 SPL 引导流程的 eMMC 进行引导。

     您可以使用文档 https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j721s2/09_01_00_06/exports/docs/linux/How_to_Guides/Target/How_to_flash_emmc_device.html 

    唯一的改变是使用 create-sdcard.sh 而不是 mksdboot.sh。 我相信这两个脚本的工作方式相似、

    此致、
    帕尔特

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

    您好、Parth:

    参考资料: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j721s2/09_01_00_06/exports/docs/linux/How_to_Guides/Target/How_to_flash_emmc_device.html

    您提供的说明仅涵盖从 SD 卡引导和复制 rootfs 的方法。

    我认为、如果不了解 eMMC 上的引导分区、引导可能是不可能的。

    我需要更详细的解释。

    此致、

    JK

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

    您好!

    我不认为在没有 eMMC 上引导分区的相关信息的情况下可以引导。

    是的、回答正确。 我认为这个文档需要更新。 我会向团队提出这个问题。
    您可以挂载到引导分区并复制内容、方法与对根 FS 执行的方法相同

    您还可以查看应用手册 https://www.ti.com/lit/an/spracy5/spracy5.pdf 

    此致、
    帕尔特  

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

    您好、Parth:

    如何创建 sysfw.itb?

    $ make list-targets
    Below targets are supported by the Makefile for PLATFORM=j721s2-evm
    arm-benchmarks cryptodev ti-img-rogue-driver u-boot linux linux-dtbs linux-fitImage

    没有目标  sysfw-image in the 'make list-targets'.

    此致、

    JK

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

    JK 您好  

    如何创建 sysfw.itb?

    [/报价]

    本文档在开发时考虑到了使用传统引导流程的 TDA4VM 作为 SOC。

    J721S2使用组合的引导流程,其中 tifs(sysfw binary)包含在 tiboot3.bin 中,因此无需刷写 sysfw.it。

    此致
    迪瓦卡尔

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

    您好!

    create-sdcard.sh 无法对 EVB 执行操作。 我使用 mksdboot.sh 进行分区。

    我执行了以下命令。

    1. rootfs
        umount /run/media/*
        mkdir /mnt/sd-rootfs
        mount /dev/mmcblk1p2 /mnt/sd-rootfs
        mkdir /mnt/emmc-rootfs
        mount /dev/mmcblk0p2 /mnt/emmc-rootfs
        cp -r /mnt/sd-rootfs/* /mnt/emmc-rootfs
        sync
        umount /mnt/*

    2. BOOT(on u-boot)
        => mmc dev 0 1
        => fatload mmc 1 ${loadaddr} tiboot3.bin
        => mmc write ${loadaddr} 0x0 0x400
        => fatload mmc 1 ${loadaddr} tispl.bin
        => mmc write ${loadaddr} 0x400 0x1000
        => fatload mmc 1 ${loadaddr} u-boot.img
        => mmc write ${loadaddr} 0x1400 0x2000

    当我切换到 eMMC 引导模式并重新启动时、它不会启动。

    此致、

    JK

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

    尊敬的 JK:

    您是否在 uBoot 中也运行了这些命令  

    => MMC partconf 0 1 1
     => MMC bootbus 0 2 0 0 

    查询https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j721s2/08_06_01_02/exports/docs/linux/Foundational_Components U-Boot/UG-Memory.html?highlight=emmc%20boot0#boot-tiboot3-bin-tispl-bin-and-boot-img-from-emmc-boot-partition-for-k3-class-of-SoCs

    此致

    迪瓦卡尔

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

    您好 Diwakar:

    从 eMMC 引导时、仅显示以下消息、引导过程将不会继续。

    MMC: no card present
    mmc_init: -123, time 2002
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device

    此致、

    JK

    e2e.ti.com/.../COM5_5F00_P20240417_5F00_094149.log

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

    尊敬的 JK:

    请说明您到目前为止为此执行的所有步骤。

    此致
    迪瓦卡尔

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

    您好 Diwakar:

    我测试的顺序如下。

    1.安装到 SDCARD

    2.从 SDCARD 引导

    3.重新启动并转至 u-boot shell

    4.关闭

    5.正在启动。

    此致、

    JK

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

    JK 您好  

    您未 在 U-boot 中正确设置 env 变量的问题。

    请在 uBoot 中进行以下更改。

    • 在 uBoot 停止
    • setenv args_mmc "run finduid;setenv bootargs console=ttyS2115200n8 root=/dev/mmcblk0p2 rw rootfsttype=ext4 rootwait"
    • 启动

    此致
    迪瓦卡尔

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

    您好 Diwakar:

    我 得到相同的结果。

    0.设置引导模式

    1.在 uBoot 和 printenv 处停止

    2. setenv 和 printenv

    3.运行引导

    我正在附加日志

    冷启动后、args_MMC  值消失。 我找不到 saveenv 这样的菜单。 如何永久使用环境值?

    此致、

    JK

    e2e.ti.com/.../COM5.txt

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

    尊敬的 JK:

    在您共享的 env 中、有两个不正确的东西:一个是引导部件、另一个是 mmcdev。

    在 建议使用 uEnv.txt 设置环境变量8.6 SDK 之后、saveenv 已删除。

    或恢复以下补丁  

    提交 ID:  

    2b3213dc4a5c96949e082852522a590b784cb584  

    此致
    迪瓦卡尔

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

    您好 Diwakar。

    我看不到随附的图片、因此无法准确理解。

    我引用了 TI 文档中的所有修改内容。

    是否有任何其他可以参考的文档?

    此致、

    JK

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

    JK 您好  

    我看不到随附的图片、因此无法准确理解。

    [/报价]

    重新附加屏幕截图。

    如果您看到您共享的变量的值与文档中提到的值不同。

    如果要将 env 变量存储到您的应用程序中、  

    https://lists.denx.de/pipermail/u-boot/2022-December/502749.html

    我引用了 TI 文档中的所有修改内容。

    是否有任何其他可以参考的文档?

    [/报价]

    该应用未在早期阶段开发、由于 uboot 中的持续开发导致 saveenv 命令发生变化。

    因此、如果您希望将 U-Boot 环境变量存储在 eMMC 中、则可以恢复上面的补丁。

    此致
    迪瓦卡尔

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

    尊敬的 Diwakar:

    You said:
    
    saveenv is removed after. 8.6 SDK suggested to use uEnv.txt for setting the environment variable.

    在哪里可以找到有关如何使用 uEnv.txt 文件的信息?

    如前所述、我将查找有关从 eMMC 引导的说明。

    对于使用 v09x SDK 引导到 eMMC、是否有任何建议?  

    您建议的链接不足以正常工作。

    此致、

    JK

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

    JK 您好  

    我建议在上一张幻灯片中

    • 如果您想获得 萨维恩夫 TI 器件。
    • 或者您也可以使用 uEnv.txt 来存储环境变量,uEnv.txt 是一个 slanded uboot,并不是专门针对 TI 的。

    此致
    迪瓦卡尔