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.

[参考译文] PROCESSOR-SDK-AM62X:通过从 USBDFU 写入数据来引导 eMMC

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1239974/processor-sdk-am62x-emmc-boot-by-writing-data-from-usbdfu

器件型号:PROCESSOR-SDK-AM62X
主题中讨论的其他器件:AM625、SK-AM62

您好!

我正在尝试使用 USB 引导通过 USBDFU 将引导映像数据写入 eMMC。
首先、我参考以下 URL 来了解如何在 SK-AM62x (版本 E3)上向 eMMC 写入数据。
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1127618/faq-sk-am62-how-to-flash-emmc-using-usb-dfu-on-am62x-sk-e2

然后、我可以将 u-boot 映像写入 eMMC、并在更改引导模式后从 eMMC 引导。
但是、我观察到将"rootfs"写入 eMMC 失败。

下面是对数 termterm。

——
SoC:AM62X SR1.0 GP
型号:Texas Instruments AM625 SK
EEPROM 在0x50处不可用、尝试在0x51处读取
电路板:AM62-SKEVM 修订版 E3
DRAM:2 GiB
MMC@fa10000: 0, MMC@fa00000: 1, MMC@fa20000: 2
正在从 MMC 加载环境... 确定
输入:串行@2800000
输出:串行@2800000
ERR:串行@2800000
NET:eth0:以太网@8000000port@1
按任意键以停止自动引导:0
=> setenv dfu_alt_info ${dfu_alt_info_eMMC}
=> DFU 0 MMC 0
##download (下载)... 确定
Ctrl+C 退出...
####下载... 确定
Ctrl+C 退出...
####下载... 确定
Ctrl+C 退出...
##################################################################个############ 请求将超出指定区域!    =>从"filesystem"目录写入数据(请参阅有关"filesystem"目录的"Linux PC"日志)
#
---

下面是在我写入 rootfs 文件时在 Linux PC 上的日志。

——
Machida@Machida-virtual-machine:~/ti-processor-sdk-linux-am62xx-evm-08.05.00.21/files$ sudo dfu-util -a rootfs -D tisdk-base-image-am62xx-evm-20230514223606.rootfs.tar.xz
dfu-util 0.9

版权所有2005-2009年 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2016 Tormod Volden 和 Stefan Schmidt
该程序是自由软件,没有任何担保
请将错误报告给 sourceforge.net/.../

dfu-util:DFU 后缀签名无效
dfu-util:未来的 dfu-util 版本中将需要有效的 dfu 后缀!!
正在打开支持 DFU 的 USB 设备...
ID 0451:6165
运行时器件 DFU 版本0110
正在申请 USB DFU 接口...
正在设置备用设置#1……
确定器件状态:State = dfuIDLE、STATUS = 0
DFUIDLE、继续
DFU 模式器件 DFU 版本0110
设备返回的传输大小4096
将数据从 PC 复制到 DFU 器件
下载[=] 8% 16371712字节失败!                                                   =>下载在中间停止。
STATE (10)= dfuERROR、STATUS (14)=出现问题、但器件不知道它是什么
——

关于写入 rootfs 映像是否有任何错误?

此致、

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

    您好!

    在将 rootfs 写入 AM62x 上的 eMMC、正在进行调试时、我们会看到问题。

    请从 R5/A53 defconfig 中删除以下任何一项、然后重试:

    -CONFIG_MMC_UHS_SUPPORT=y
    -CONFIG_SPL_MMC_UHS_SUPPORT=y
    -CONFIG_MMC_HS200_SUPPORT=y
    -CONFIG_SPL_MMC_HS200_SUPPORT=y


    +CONFIG_MMC_UHS_SUPPORT=n
    +CONFIG_SPL_MMC_UHS_SUPPORT=n
    +CONFIG_MMC_HS200_SUPPORT=n
    +CONFIG_SPL_MMC_HS200_SUPPORT=n

    ~朱迪斯

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

    您可能还必须应用以下 eMMC 补丁来执行 eMMC 引导: e2e.ti.com/.../faq-am625-how-to-boot-with-emmc-boot-mode-on-am62x

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

    您好、Judith-San、

    感谢您的答复。
    首先、我仅应用了 defconfig 更改设置(您的第一个帖子内容)、但观察到相同的错误。 因此、我将执行补丁解决方案。
    不过、我有一个简单的问题。

    *根据您的帖子,您似乎最近发布了它。
    是否高于所有 Linux SDK 版本的工作范围?
    (我忘记描述了、但我使用08.05.00.21。 我是否应该应用它不是最新版本?)

    不管怎样,我会尝试它,但如果你有上面的答案,它是有帮助的。

    Br、

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

    尊敬的 Ryuuichi:

    忽略上述更改、并在 u-boot 中尝试以下补丁:

    diff --git a/arch/arm/dts/k3-am62-main.dtsi b/arch/arm/dts/k3-am62-main.dtsi
    index cd2cea2dba..4e1631ccc0 100644
    --- a/arch/arm/dts/k3-am62-main.dtsi
    +++ b/arch/arm/dts/k3-am62-main.dtsi
    @@ -348,11 +348,10 @@
                    bus-width = <8>;
                    ti,clkbuf-sel = <0x7>;
                    ti,otap-del-sel-legacy = <0x0>;
    -               ti,otap-del-sel-mmc-hs = <0x0>;
    -               ti,otap-del-sel-ddr52 = <0x5>;
    -               ti,otap-del-sel-hs200 = <0x5>;
                    ti,itap-del-sel-legacy = <0xa>;
                    ti,itap-del-sel-mmc-hs = <0x1>;
    +               /delete-property/mmc-ddr-1_8v;
    +               /delete-property/mmc-hs200-1_8v;
            };
     
            sdhci1: mmc@fa00000 {
    diff --git a/arch/arm/mach-k3/am625_init.c b/arch/arm/mach-k3/am625_init.c
    index 03572cf84e..774fb82267 100644
    --- a/arch/arm/mach-k3/am625_init.c
    +++ b/arch/arm/mach-k3/am625_init.c
    @@ -25,6 +25,9 @@
     #define K3RTC_KICK0_UNLOCK_VALUE       0x83e70b13
     #define K3RTC_KICK1_UNLOCK_VALUE       0x95a4f1e0
     
    +/*eMMC boot mode fix*/
    +#define EMMC_BOOT      9
    +
     #if defined(CONFIG_SPL_BUILD)
     
     /*
    @@ -245,6 +248,10 @@ u32 spl_mmc_boot_mode(const u32 boot_device)
     
            switch (boot_device) {
            case BOOT_DEVICE_MMC1:
    +               if (((devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK) >>
    +                         MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT) == EMMC_BOOT)
    +                       return MMCSD_MODE_EMMCBOOT;
    +
                    if ((bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK) >>
                         MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_SHIFT)
                            return MMCSD_MODE_EMMCBOOT;
    diff --git a/configs/am62x_evm_a53_defconfig b/configs/am62x_evm_a53_defconfig
    index c32826f1db..413f884179 100644
    --- a/configs/am62x_evm_a53_defconfig
    +++ b/configs/am62x_evm_a53_defconfig
    @@ -81,7 +81,7 @@ CONFIG_MULTI_DTB_FIT=y
     CONFIG_SPL_MULTI_DTB_FIT=y
     CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
     CONFIG_ENV_IS_IN_MMC=y
    -CONFIG_SYS_MMC_ENV_PART=1
    +CONFIG_SYS_MMC_ENV_PART=2
     CONFIG_NET_RANDOM_ETHADDR=y
     CONFIG_DM=y
     CONFIG_SPL_DM=y

    该补丁应应用于08.05。

    请注意、我切换到器件树更改、而不是 u-boot 中的 defconfig 更改。 这两个器件应该实现相同的功能、即降低 eMMC 速度、但我注意到有时 eMMC 速度不会随着 defconfig 更改而降低。

    ~朱迪斯

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

    如果您可以验证 eMMC 速度是否降低、结果是:

    => MMC 信息

    在 u-boot 中。 然后再次尝试刷写 rootfs。

    请尝试使用使用使用 eMMC 补丁创建的引导加载程序来刷写 eMMC 器件。

    请告诉我这是否有效。

    ~朱迪斯

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

    您好!

    很抱歉、我不熟悉 Linux。
    首先,我执行了以下命令来应用修补程序,但其中一个 hunk 不能应用。

    1.我为"am625_init.c"创建补丁文件为"am625_init.patch"
    2.移动到{uBoot-DIR}并执行以下命令。
      $ patch -P1 < am625_init.patch

    然后、确认了以下日志。

    --
    修补文件 arch/arm/mach-k3/am625_init.c
    HUNK #1在28以模糊2 (偏移3线)成功。
    HUNK #2以248失败。
    2次搜索中有1次失败
    --

    在我创建/应用修补程序的过程中是否有任何错误?

    Br、  

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

    您好!

    很抱歉有几次发布了。
    我可以将补丁文件应用到三个文件。 (我可以通过添加"--ignore-whitespace"选项来应用补丁)

    之后、我重新编译了 u-boot、并再次尝试在 eMMC 上写入 rootfs。 但是、我可能会观察到相同的误差...

    之后,我确认了"MMC 信息"。 那么我得到以下结果。

    *总线速度: 200000000
    *模式: HS200 (200MHz)

    似乎 MMC 总线速度变化不慢..
    有什么错误吗?

    Br、

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

    尊敬的 Ryuuichi:

    您可以下载以下补丁并执行'git apply /0001-eMMC-fix.patch'

    ~朱迪斯
    e2e.ti.com/.../0001_2D00_eMMC_2D00_fix.patch

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

    您好!

    我在返回到原始文件到三个文件后执行了"git apply 0001-eMMC-fix.patch"、这些文件都是我执行的"patch -p1 xxx"。
    然后、我可以对三个文件应用补丁、之后我重新编译 A53 u-boot。
    不过、观察到相同的误差。 如前面所述、我认为此错误与 rootfs 的 eMMC 的分区设置有关。

    下载[=] 8% 16371712字节失败!                                                   =>下载在中间停止。

    是否有任何命令用于在 E3 SK-AM62 EVM 上将与分区大小相关的内容更改为 eMMC?

    Br、

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

    您好!

    我通过执行 SD 引导并使用 fdisk 命令注意到 eMMC 的一件事。

    *我执行了"fdisk"命令来查看当前的 eMMC 分区配置。
    那么我得到以下结果。

    1."ls - l"的结果,根据下面, eMMC 有两个分区(突出显示为红色)
     root@am62xx-evm:/# ls -l /dev/mmcblk
    BRW-RW-----1根磁盘179, 0五月14 23:09 /dev/mmcblk0
    BRW-RW-----1根磁盘179, 32五月14 23:04 /dev/mmcblk0boot0
    BRW-RW-----1根磁盘179, 64五月14 23:04 /dev/mmcblk0boot1
    BRW-RW-----1根磁盘179, 1五月14 23:27 /dev/mmcblk0p1
    BRW-RW-----1根磁盘179, 2 May 1423:09 /dev/mmcblk0p2
    crw------- 1根237、0 May 14 23:04 /dev/mmcblk0rpmb
    BRW-RW-----1根磁盘179, 96五月14 23:04 /dev/mmcblk1
    BRW-RW-----1根磁盘179, 97五月14 23:04 /dev/mmcblk1p1
    BRW-RW-----1根磁盘179, 98五月14 23:04 /dev/mmcblk1p2

    2.之后,我执行了"fdisk"。

    root@am62xx-evm:/# fdisk -l /dev/mmcblk0
    磁盘/dev/mmcblk0:14.84 GiB、15913189376字节、310448扇区
    单位:1 * 512 = 512字节的扇区
    扇区大小(逻辑/物理):512字节/512字节
    I/O 大小(最小值/最佳值):512字节/ 512字节
    磁盘标签类型:DOS
    磁盘标识符:0xcb6453C0

    器件引导开始结束扇区大小 ID 类型
    /dev/mmcblk0p1 * 2048 34815 32768 16M e W95 FAT16 (LBA)
    /dev/mmcblk0p2 34816 310447 31045632 14.8G 83 Linux

    然后,分区1的大小是16M。
    我认为我的误差取决于上述配置。

    另一方面,根据下面的 URL,似乎用户分区应该只偏离1。
    https://dev.ti.com/tirex/explore/node?node=A__AHRrRyaBVyh3lIzvQ8a6tQ__linux_academy_am62x__XaWts8R__LATEST


    因此、我认为我需要为 eMMC 重新创建分区(因为我没有对 eMMC 执行任何操作、因此此配置默认发生在 E3 SK-AM62 EVM 上。)
    或者、更改 USBDFU 的命令以写入 eMMC 的第2层。(但我不确定如何执行这种方法...)

    哪一个是正确的认识?

    Br、  

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

    您好!

    我可以通过更改 eMMC 分区来编写文件系统。
    但是、当我从 eMMC 引导时、我在控制台上看到以下错误日志。

    ——
    => setenv mmcdev 0
    => setenv bootpart 0
    =>引导
    切换到分区#0,确定
    mmc0 (第0部分)是当前器件
    在器件0上找到 SD/MMC
    **无法识别的文件系统类型**
    **无法识别的文件系统类型**
    **无法识别的文件系统类型**
    **无法识别的文件系统类型**
    libfdt FDT_check_header ():FDT_ERR_BADMAGIC
    未配置 FDT 存储器地址。 请配置
    通过"FDT addr "添加 FDT 地址

    "命令。
    正在中止!
    错误的 Linux ARM64图像魔法!
    ——

    我确认 eMMC 分区是"Linux"(ext3、ext4)、并在万一发生这种情况时执行以下命令。
    $ mkfs.ext4 /dev/mmcblk0p1

    起初,我写了文件系统,我自己重建,但之后,我还使用了默认文件系统,它位于"预建图像"。
    我在上述两种情况下观察到相同的误差...

    你知道我的错是什么吗?

    Br、

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

    您好

    我们看看这个,并在明天作出回应。

    ~朱迪斯

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

    尊敬的 Ryuuichi:

    很抱歉耽误你的时间。

    好的、让我们在不降低 eMMC 速度的情况下尝试08.05 SDK。

    好的、如果您没有在 Linux 中设置分区、以下是步骤:

    1.带 SD 卡的引导板、默认映像

    2.在 Linux 中,卸载 eMMC UDA 分区:
    sudo umount /dev/mmcblk0p2
    sudo umount /dev/mmcblk0p1

    3.在 Linux 中,使用 fdisk 对 eMMC UDA 进行分区:(为 rootfs 创建一个分区)
    man7.org/.../fdisk.8.html

    4.格式化分区:
    mkfs -t ext4 /dev/mmcblk0p1

    5.将 bootloader 和 rootfs 复制到各自的分区:

    6.现在您可以使用 USB-DFU 进行刷写、或者只需从 SD 卡(如果保存在此处)加载 rootfs 并解压缩到 UDA 分区:

    安装/dev/mmcblk0p1 eMMC-root
    加载/dev/mmcblk1p2 SD-root/
    cp sd-root/tisdk-default-image-am62xx-evm.tar.xz。
    根目录 CD eMMC-root
    tar -x -j -v -f ../tisdk-tDEFAULT-image-am62xx-evm.tar.xz
    umount eMMC-ROOT
    umount sd-root

    7.在 U-boot 处:
    => setenv bootpart 0:1
    => saveenv

    请告诉我这是否有效。

    ~朱迪斯

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

    您好、Judith-San、

    很抱歉我迟到了回复。
    首先、我可以重新创建分区、并且可以通过 USBDFU 工具创建"ext4"文件来确认引导。
    但是、我参考以下 URL 来创建"ext4"文件、因为没有有关如何为 AM62X 创建"ext4"文件的信息。
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1103566/tmds64gpevm-how-to-flash-emmc-using-dfu-util/4097792#4097792

    我可以确认内核已启动、但出现错误。
    请您确认以下信息吗?

    问题1: 我应该设置什么值"BS"和"seek"参数?
    (我认为我们将在 eMMC 上写入0x0区域、因此搜索可以设置为"0x0"、在这种情况下我无法创建 ext4文件。)
    附加是我的启动日志。 我可以确认启动、但最终出现了问题。
    问题2. 如果您有描述如何为 AM62X 创建"ext4"文件的任何文档?

    BRe2e.ti.com/.../AM62x_5F00_Linux_5F00_08_5F00_05_5F00_00_5F00_21_5F00_USBDFU_5F00_SUCEESS_5F00_ROOTFS_5F00_SUCCESS_5F00_BOOT_5F00_BUT_5F00_SomethingErrorOnKernel_2D002D00_202230626.zip

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

    尊敬的 Ryuuichi:

    很抱歉耽误你的时间、明天我会回复这个问题。

    ~朱迪斯

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

    尊敬的 Ryuuichi:


    根据日志、存在很多故障。 是否已尝试重新刷写并重试? 以验证是否已正确复制。

    问题1: 我应该设置什么值"BS"和"seek"参数?
    这些指令意味着从输出文件的开头移动到一个位置300x1M 字节并从该位置开始写入。 它会在文件顶部创建一个孔。
    但我认为这些指令已经过测试、因此它们应该可以工作并通过 USB-DFU 创建 tisdk-base、ext4文件到闪存。

    问题2. 如果您有描述如何为 AM62X 创建"ext4"文件的任何文档?
    不幸的是,我没有找到关于这种方法的任何文档,使用 usbdfu 闪存 ext4。 您链接的 e2e 是少数几个。


    但是、还有我上面列出的另一种方法、在这里、您可以使用另一种引导方法引导到 Linux、从用户空间格式化 UDA、将引导加载程序和 rootfs 刷写到 eMMC、然后将引导模式设置为 eMMC 并重新引导、有一些有关此方面的文档。

    ~朱迪斯

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

    您好!

    - 1 -
    >验证是否已正确复制。
    您能告诉我如何确认以上内容吗?

    - 2 -
    A1。
    >但我相信这些指令已经过测试,所以他们应该工作,并创建 tisdk-base, ext4文件到闪存通过 USB-DFU。
    根据这一点、你只描述 tisdk-base 的情况。 如果我们想要实现其他文件系统,如 tisdk-default ,我不知道如何设置这些参数("BS"和"seek")。
    我们可以对其他文件系统使用相同的参数吗?

    - 3 -
    >但是,有一种我上面列出的不同方法,在这里你可以用另一种引导方法引导到 Linux,从用户空间格式化 UDA,将引导加载程序和 rootfs 刷写到 eMMC,然后将引导模式设置为 eMMC 并重新引导,有一些关于这方面的文档。

    是的、我了解以上内容。
    但是、我客户的定制板没有 SD 卡端口(只有 USB 或 UART)。
    我理解上述内容是为了实现 SD 引导、但 这就是我们无法执行以下操作的原因。

    --
    安装/dev/mmcblk0p1 eMMC-root
    加载/dev/mmcblk1p2 SD-root/
    cp sd-root/tisdk-default-image-am62xx-evm.tar.xz。
    根目录 CD eMMC-root
    tar -x -j -v -f ../tisdk-tDEFAULT-image-am62xx-evm.tar.xz
    umount eMMC-ROOT
    umount sd-root
    --

    因此、我问了我们如何在 EVM 上仅使用 USBDFU 工具。
    (如果我们在 EVM 上意识到这一点、我们认为我们可以将同样的方法应用于定制电路板。)

    Br、

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

    您好!

    1) 1)按照您已经执行的方式重新闪存、使用此 e2e 作为创建 tisdk-base.ext4的指南、并使用以下内容刷写所有二进制文件:
    sudo dfu-util -a rootfs -D tisdk-base.ext4。 然后重新测试。 但是、要了解您的 BS 和 SEEK 参数可能需要不同、请在第2步之后执行此操作。

    2)根据这一点,你只描述 tisdk-base 的情况。 如果我们想要实现其他文件系统,如 tisdk-default ,我不知道如何设置这些参数("BS"和"seek")。
    我们可以对其他文件系统使用相同的参数吗?

    --->扩展我之前说过的内容。 BS 和 SEEK 参数用于创建具有 BS 和 SEEK 参数指定的孔/大小的空文件。 我看到上一篇文章是针对 AM64x 而不是 AM62x、因此我们的大小参数可能会不同。 默认 rootfs 应该比未 tisdk-default...xz (DTB +内核映像)稍大。 因此、如果我们使用:300x1M 字节参数、它是否大于默认 rootfs untared?

    3)理解、然后不是 SD 卡。

    ~朱迪斯

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

    您好、Judith-San、

    感谢您的答复。

    对于2:
    我首先检查了 tisdk-base 的 untar 大小。
    然后、未压缩的尺寸为318M。
    我设置了 seek=300、但它似乎有点小。
    我是否应该通过设置上述更大的大小来重新创建 ext4文件(例如,seek=320)?

    Br、

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

    您好!

    是的、我认为这应该可行、让我们尝试一下。

    ~朱迪斯

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

    您好、Judith-San、

    正如您所描述的1)和2),我通过将搜索大小从300更改为320来重新创建 ext4文件。
    并且我重新安装所有二进制文件(u-boot 和 rootfs)、但是、我收到相同的错误...

    我使用了我构建的 rootfs 文件(我确认该 rootfs 可以在 SD 引导时可用)、但是、我将重新尝试使用原始 tisdk-base 创建 ext4文件。

    由于我的硬盘容量已满、我将扩展硬盘并尝试以上操作。 请等待我的反馈确认。

    Br、

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

    您好!

    >我使用了我构建的 rootfs 文件(我确认该 rootfs 可以在 SD 引导上可用),然而,我将重新尝试使用原始 tisdk-base 创建 ext4文件。
    即使我使用了原始 rootfs 文件、我也遇到相同的错误。

    Br、

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

    您好!

    您能展示错误吗? 这样的日志来记录您看到的内容。

    ~朱迪斯

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

    你好

    >您是否可以显示错误。 这样的日志来记录您看到的内容。
    请参阅随附文件。

    文件名  
    AM62x_Linux_08_05_00_21_eMMC_result_after_chnageSeekSize--20230712.txt
    =>使用 seek size = 320的自定义构建文件

    AM62x_Linux_08_05_00_21_usingDefault_tisdkBase_seeksize320--20230712.txt
    =>使用  搜寻大小= 320的原始文件

    Br、

    e2e.ti.com/.../AM62x_5F00_Linux_5F00_08_5F00_05_5F00_00_5F00_21_5F00_eMMC_5F00_result_5F00_after_5F00_chnageSeekSize_2D002D00_20230712.txte2e.ti.com/.../AM62x_5F00_Linux_5F00_08_5F00_05_5F00_00_5F00_21_5F00_usingDefault_5F00_tisdkBase_5F00_seeksize320_2D002D00_20230712.txt

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

    您好!

    您是否可以验证 UDA 中是否有一个分区的大小足以用于 rootfs?

    在 u-boot 提示符中、您应该能够看到带有"mmc part"命令的分区、 它显示了什么?

    如果需要使用 u-boot 创建分区、请尝试使用 gpt 命令:

    => GPT 写 MMC 0 $partitions

    然后尝试重新刷写 rootfs

    ~朱迪斯

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

    你好

    以下是"MMC 部件"的结果。
    似乎有足够的空间用于文件系统。

    =>MMC 部件

    MMC 设备的分区映射0-分区类型:DOS

    Part Start Sector Num Sectors UUID 类型
    1 2048 31078400 0000-01 83

    Br、

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

    您好!

    很抱歉耽误你的时间、我将在内部讨论这个问题、马上再跟大家讨论。

    ~朱迪斯

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

    您好!

    1.您自己在 UDA 中创建了这个分区吗?
    作为一项实验、您能否修改 Linux 内核器件树以降低 eMMC 速度、并使用此 DTB 进行引导? 您之前在 U-boot 阶段完成了此操作、但是我们在 Linux 内核阶段会看到问题。

    ~朱迪斯

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

    您好!
    >1. 您是否自己在 UDA 中创建了此分区?
    是的,我使用 fdisk 创建了分区。
    有关详细信息、请参阅随附的日志(eMMC_Repartition.txt)。

    >2. 作为一项实验、您是否能够修改 Linux 内核器件树以降低 eMMC 速度、并使用此 DTB 进行引导? 您以前在 U-boot 阶段做过此事>但是,我们在 Linux 内核阶段看到了一个问题。
    我会检查一下、如果我对执行该操作有疑问、我会告诉您。
    不过、请稍等我一下。

    Br、

    e2e.ti.com/.../eMMC_5F00_Repartition.txt

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

    您好!

    表示2)
    我尝试通过应用以下内容来改变 eMMC 的速度。

    ——
    diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
    索引 b4051afb0a4e..c1078cd9fb7e 100644
    -- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
    ++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
    @@-409,12+409,11 @@ sdhci0:mmc@fa10000
    总线宽度=<8>;
    ti、clkbuf-sel =<0x7>;
    ti、otap-del-SEL-legacy =<0x0>;
    - ti、otap-del-sel-mc-hs =<0x0>;
    - ti,otap-del-SEL-ddr52 =<0x5>;
    - ti,otap-del-SEL-HS200 =<0x5>;
    TI、ITAP-DELL-SEL-STORAGE =<0xA+;
    TI、ITAP-DEL-SEL-MMC-hs =<0x1>;
    状态="已禁用";
    +/delete-property/mmc-ddr-1_8v;
    +/delete-property/mmc-hs200-1_8v;
    };

    sdhci1: mmc@fa00000 {
    --

    此信息的来源如下。
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1233869/faq-am625-how-to-boot-with-emmc-boot-mode-on-am62x
    (我不确定如何执行"git diff"来创建可通过使用"git apply"命令来应用的补丁文件。 因此我直接更改了"k3-am62-main.dtsi"文件。)

    结果日志已附加文件。(Bootlog_AfterChanging_eMMCSpeedonKernelStage.txt)
    引导过程停止、并且没有关于 mmc0的信息。

    是否有任何其他文件需要更改?

    Br、



    e2e.ti.com/.../BootLog_5F00_AfterChanging_5F00_eMMCSpeedonKernelStage.txt

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

    您好!

    在从 eMMC 加载 rootfs 之前、您是否可以在 u-boot 提示符下尝试以下操作:

    =>运行 args_all args_mc get_kern_mc findfdt get_FDT_mc                         
    => FDT addr $fdtaddr;FDT 大小调整
    => FDT set /bus@f0000/mmc@fa00000/ no-1-8-v
    =>运行 run_kern

    ~朱迪斯

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

    您好、Judith-San、

    即使我应用了您在上一主题中建议的命令、我也观察到相同的错误。
    但是、当我启用 HS200设置并使用我构建的 dtb 文件 wihich 时、我可以确认引导。
    有关详细信息、请参阅随附的文件。

    实例1: 在内核阶段禁用 HS200设置、并使用我创建的 dtb 文件。 (日志是从第2行到第335行。)
    案例2:  在内核阶段应用 HS200设置并使用我创建的 dtb 文件。 (日志从337行至1099行。)

    以前、我使用了默认的 DTB 文件、该文件包含"tisdk-base-image-am62xx-evm.tar.xz"。
    然而,在你的建议改变 eMMC 速度后,我应用了 DTB 文件,我在卸载前建立。
    那么我得到了上面的结果。
    因为我的 dtb 文件不仅包括此更改,而且还包括其他更改以支持客户. (DTB 大小不同。 最初的是54468、但我建的 dtb 是42284。)
    我不确定哪个设置有问题、但即使 eMMC 速度为 HS200、我也可以引导。

    此致、



    e2e.ti.com/.../AM62x_5F00_Linux_5F00_08_5F00_05_5F00_00_5F00_21_5F00_eMMC_5F00_boot_5F00_after_5F00_applying_5F00_DTBbuildbymyself_5F00_withHS200setting_2D002D00_20230718.txt

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

    你好,

    因此、以上命令应该是


    =>运行 args_all args_mc get_kern_mc findfdt get_FDT_mc                         
    => FDT addr $fdtaddr;FDT 大小调整
    => FDT set /bus@f0000/mc@fa10000/ no-1-8-v
    =>运行 run_kern

    您可以尝试一下吗? 我发送错误的命令时出错了。

    现在、这里的目标是降低 eMMC 速度。 我们不希望进入 HS200速度模式。

    ~朱迪斯

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

    您好!

    我重新禁用了 mmc0的 HS200设置、并重新创建了 ext4文件、其中包括重新构建的 DTB。
    我使用了您的固定命令、但观察到相同的错误。
    请参阅随附文件(我认为差异仅在于 MMC 从"fa00000"到"fa10000"的地址。)

    Br、


    e2e.ti.com/.../AM62x_5F00_Linux_5F00_08_5F00_05_5F00_00_5F00_21_5F00_eMMC_5F00_boot_5F00_after_5F00_applying_5F00_DTBbuildbymyself_5F00_woHS200setting_2D002D00_20230720.txt

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

    尊敬的 Ryuuichi:

    好的、谢谢您提供的数据点。 我们再次进行内部讨论。

    ~朱迪斯

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

    另一个问题:

    实例1: 在内核阶段禁用 HS200设置、并使用我创建的 dtb 文件。 (日志是从第2行到第335行。)
    案例2:  在内核阶段应用 HS200设置并使用我创建的 dtb 文件。 (日志从337行至1099行。)

    以前、我使用了默认的 DTB 文件、该文件包含"tisdk-base-image-am62xx-evm.tar.xz"。
    然而,在你的建议改变 eMMC 速度后,我应用了 DTB 文件,我在卸载前建立。
    那么我得到了上面的结果。

    -->在这里,您能说明哪一种情况发生了故障?

    -->如果不降低 eMMC 的速度,所有 rootfs 都启动,或者特定 rootfs 启动失败吗?

    ~朱迪斯

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

    您好!

    -->在这里,您能说明哪一种情况发生了故障?
    =>"情况1"

    -->如果不降低 eMMC 的速度,所有 rootfs 都启动,或者特定 rootfs 启动失败吗?
    =>我将澄清我执行的案例。

    案例0 (上面没有描述、但这是我在讨论在内核级降低 eMMC 速度之前确认的情况。(我也使用了自己构建的 SDK、但我没有描述这种情况是为了简化。)
    此条件低于以下值。
    * eMMC 的内核设置是 启用 HS200
    *使用 默认值 包含文件系统的 dtb 文件

    案例1 (如上所述)
    此条件低于以下值。
    * eMMC 的内核设置是  禁用 HS200
    *使用 构建 dtb 文件。

    案例2  (如上所述)
    此条件低于以下值。
    * eMMC 的内核设置是 启用   HS200
    *使用  构建  dtb 文件。

    注意:在上述三种情况下使用相同的文件和文件系统,DTB 除外。
    换句话说、区别仅在于 dtb 文件。

    如果是"case2"、我观察到启动过程正常运行。 (我只执行了一种类型的"rootfs"。 因此、我不能为其他"rootfs"做注释。)

    此致、

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

    您好!

    好的、如果只有案例1发生故障、请勿降低 eMMC 速度。 这种行为很奇怪、如果我们仅降低 eMMC 速度、启动应该不会失败。

    问题是什么? 您提到、如果您将 HS200模式保持为开启状态、 则默认的 dtb 和自定义 dtb 可以正常工作。

    ~朱迪斯

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

    您好!

    >问题是什么? 您提到、如果您将 HS200模式保持为开启状态、 则默认的 dtb 和自定义 dtb 可以正常工作。
    否、我仅确认了定制 DTB 的情况。 我没有观察到默认 dtb 工作正常。

    Br、

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

    您好!

    好的、您认为使用 USB-DFU 刷写到 eMMC 仅在以下情况下有效:
    1.不降低 eMMC 速度
    2.如果您使用的是定制的 dtb。
    3.如果使用的是默认的 dtb,则不能。

    对吧?

    如果是、您提到您有一个正确的 AM62x SK E3电路板?
    此外,在测试基本 rootfs 或默认 rootfs 时,这不是清除的。 我想您曾多次提到 base rootfs、但请确认一下。

    在刷写 rootfs 时、这是您遇到的问题吗?

    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Board: AM62B-SKEVM rev A
    DRAM:  2 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2
    Loading Environment from MMC... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Unidentified board claims AM62B-SKEVM in eeprom header
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0 
    => 
    => 
    => 
    => setenv dfu_alt_info ${dfu_alt_info_emmc}
    => dfu 0 mmc 0
    ##DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################mmc write failed
    MMC operation failed#
    


    ~朱迪斯

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

    您好!

    好的、您认为使用 USB-DFU 刷写到 eMMC 仅在以下情况下有效:
    1.不降低 eMMC 速度
    2.如果您使用的是定制的 dtb。
    3.如果使用的是默认的 dtb,则不能。

         对吧?

    =>是的、正确。

         如果是、您提到您有一个正确的 AM62x SK E3电路板?

    =>是的、正确。

        此外,在测试基本 rootfs 或默认 rootfs 时,这不是清除的。 我想您曾多次提到 base rootfs、但请确认一下。

    =>是的、正确。 我使用 base rootfs。

        在刷写 rootfs 时、这是您遇到的问题吗?

    =>否、我从未见过这样的错误。

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

    您好、

    将获得 E3板并尝试基本 rootfs、我将在此处一次性更新。

    ~朱迪斯

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

    尊敬的 Ryuuichi:

    我已验证它在 AM62x E3板上能够正常工作。 我将随附以下步骤、请验证您是否正在执行所有这些步骤、并让我知道您是否在以不同方式引导基本 rootfs。

    ~朱迪斯

    e2e.ti.com/.../usbdfu_2D00_emmc_2D00_08.05.txt

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

    您好!

    我注意到了一个不同之处。
    我还添加了以下对补丁的差异。
    ——
    diff --git a/arch/arm/dts/k3-am62-main.dtsi b/arch/arm/dts/k3-am62-main.dtsi
    Index cd2cea2dba..4e1631ccc0 100644
    --a/arch/arm/dts/k3-am62-main.dtsi
    ++ b/arch/arm/dts/k3-am62-main.dtsi
    @@-348,11 +348,10 @@μ s
    总线宽度=<8>;
    ti、clkbuf-sel =<0x7>;
    ti、otap-del-SEL-legacy =<0x0>;
    - ti、otap-del-sel-mc-hs =<0x0>;
    - ti,otap-del-SEL-ddr52 =<0x5>;
    - ti,otap-del-SEL-HS200 =<0x5>;
    TI、ITAP-DELL-SEL-STORAGE =<0xA+;
    TI、ITAP-DEL-SEL-MMC-hs =<0x1>;
    +/delete-property/mmc-ddr-1_8v;
    +/delete-property/mmc-hs200-1_8v;
    };

    sdhci1: mmc@fa00000 {
    ——

    但是、根据您的补丁、您仅申请"am625_init.c"、"am62x_EVM_A53_defconfig"不包含"k3-am62-main.dtsi"。
    是否应从补丁中删除此更改?

    此致、

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

    尊敬的 Ryuuichi:

    您可以在没有指出的补丁的情况下尝试。 该补丁会降低 eMMC 速度。

    这个过程是否对您有用、或者您看到的错误是什么?

    ~朱迪斯

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

    您好!

    我尝试返回"k3-am62-main.dtsi"的默认源、但观察到的错误相同。
    我相信差别只是 dtb 文件,你能否显示 dtb 文件,其中包括 base-rootfs 你写?

    Br、

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

    尊敬的 Ryuuichi:

    是否可以尝试以下二进制文件和 rootfs? 如果有任何不同、请告诉我。 我还将附上日志供您参考。

    e2e.ti.com/.../2084.tiboot3_2D00_usbdfu.bin
    e2e.ti.com/.../1524.tispl_2D00_usbdfu.bin
    e2e.ti.com/.../7230.u_2D00_boot_2D00_usbdfu.img

    e2e.ti.com/.../4213.tiboot3_2D00_emmc.bin
    e2e.ti.com/.../3554.tispl_2D00_emmc.bin
    e2e.ti.com/.../u_2D00_boot_2D00_emmc.img

    e2e.ti.com/.../8080.tisdk_2D00_base.zip

    e2e.ti.com/.../bootlog_2D00_ryuuichi.txt

    ~朱迪斯

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

    在 am62x E3电路板上测试了整个流程、似乎您不需要降低 eMMC 速度即可使其正常运行。 请尝试以上内容、如果不起作用、我们可以继续尝试使用 defconfig 更改而不是器件树更改来降低 eMMC 速度。

    ~朱迪斯

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

    您好!

    首先、我可以在使用您的二进制文件时正确引导。
    我将检查差异。 但是、我可以解决有关堆叠启动的第一个问题。
    我将关闭该主题。
    (当我了解默认条件为什么在内部无法正常工作时、我将分享这一点。)

    此致、

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

    您好!

    当我将搜索大小更改为"400"时、使用默认 rootfs 和 dtb 时、我可能观察不到错误引导日志。
    我以前将该值设置为"320"。 因为当我检查未压缩的大小时、我得到的是318.1MiB。 那么、我认为使用该值就足够了。
    最后,如果你有理由使用"400",你能告诉我吗?

    Br、