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.

[参考译文] AM62A7:bootfs.img 生成以及通过 USB 进行 eMMC 刷写

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1412031/am62a7-bootfs-img-generation-and-emmc-flashing-over-usb

器件型号:AM62A7

工具与软件:

你(们)好

我已经 按照文档中所述使用以下命令编译了内核映像和 dtb:

编译内核:
make ARCH=ARM64 CROSS_COMPILE="$CROSS_COMPILE_64"映像
编译内核模块:
make ARCH=ARM64 CROSS_COMPILE="$CROSS_COMPILE_64"模块
编译 dtb:
使 dtc_flags=-@ arch=arm64 cross_compiles="$cross_compile_64" ti/k3-am62a7-sk.dtb
根据 TI 文档、我刚刚复制了 Image 和 dtb:使用您共享的"make_bootfs.sh"生成"bootfs.img"。

我们是否需要将任何其他文件复制到"Build/parmesan/boot/"以使用"make_bootfs.sh"构建"bootfs.img"?

我是否缺少 eMMC 刷写的内容?
将映像和 dtb 文件复制到构建目录并使用以下脚本准备 bootfs.img  

make_bootfs.sh
#!/bin/bash
截断-s 120M bootfs.img
DD if=bootfs.img bs=1M seek=150的/dev/null
mkfs.ext4 -O ^metadata_csum -F bootfs.img
mkdir -p 引导
sudo mount -t ext4 -o loop bootfs.img $(pwd)/boot
sudo cp -rv build/boot/* boot/
LS -l 启动
SYNC -f 启动
sudo umount -l boot
flash_bootfs.sh
#!/bin/bash

#将引导文件系统写入 eMMC
#映像可以使用 make_bootfs.sh 进行构建
#注意: dfu-util 可能需要作为 root 运行。
#
# U-Boot 在运行前应等待连接:
#> setenv dfu_alt_info ${dfu_alt_info_eMMC}
#> DFU 0 MMC 0
sudo dfu-util -a boot -D bootfs.img

闪烁后的日志  
U-Boot SPL 2023.04 (2024年8月7日- 20:41:57 +0000)
SYSFW ABI:3.1 (固件版本0x0009 '9.2.7--v09.02.07 (Kool Koala)')
am62a_init:board_init_f 完成
SPL 初始堆栈使用量:17080字节
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
尝试从 MMC1引导
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
身份验证已通过
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
身份验证已通过
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
身份验证已通过
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
身份验证已通过
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
身份验证已通过
在 ARM64内核上启动 ATF。。。

声明:BL31:v2.8 (发布版):
通知:BL31:建造时间:2024年8月7日20:34:34
I / TC:
I/GNU:OP-TEE 版本:unknown_3.19 (版本10.3.1 20210621 (A 配置文件架构的 TC 工具链10.3-2021.07 (ARM-10.29)))#1星期三8月7日20:34
I/OP-TEE TC:警告:此 OP-TEE 配置可能不安全!
I / TC:警告:请检查 optee.readthedocs.io/.../porting_guidelines.html
I/CPU:主 TC 正在初始化
I/SYSFW TC:SYSFW ABI:3.1 (固件版本0x0009'9.2.7--v09.02.07 (Kool Koala)')
I/Huk:TC 已初始化
I/SA2UL:已激活 TC 器件
I/TRNG:为 SA2UL TC 器件启用了防火墙
I/TRNG:SA2UL TC 已初始化
I/SA2UL:TC 驱动程序已初始化
I/CPU:主 TC 切换到正常全局启动

U-Boot SPL 2023.04 (2024年8月7日- 20:42:32 +0000)
SYSFW ABI:3.1 (固件版本0x0009 '9.2.7--v09.02.07 (Kool Koala)')
am62a_init:board_init_f 完成
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
尝试从 MMC1引导
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
身份验证已通过
am62a_init:SPL_BOOT_DEVICE:devstat = 0x44b bootmedia = 0x9 bootindex = 0
身份验证已通过


U-Boot 2023.04 (2024年8月07日- 20:42:32 +0000)

SoC:AM62AX SR1.0 HS-SoC FS
型号:德州仪器(TI) AM62A7 SK
DRAM:2GiB
内核:56个器件、25个 uClasses、devicetre:单独
MMC:MMC@fa10000:0
随处加载环境... 好的
输入:串行@2800000
输出:串行@2800000
ERR:串行@2800000
无法探测 am65_cpsw_nuss 驱动程序
NET:未找到以太网。
按任意键以停止自动引导:0
切换到分区#0、好
mmc0 (第0部分)是当前器件
在器件0上找到 SD/MMC
无法加载"boot.scr"
无法设置块设备
##错误:未定义"main_cpsw0_qsgmii_pyinit"
19909120字节读取时间为131毫秒(144.9 MiB/s)
加载"//dtb/ti/k3-am62a7-sk.dtb "失败
libfdt FDT_CHECK_HEADER(): FDT_ERR_BADMAGIC
未配置 FDT 存储器地址。 请配置
FDT 地址通过"FDT addr
"命令。
正在中止!
错误:未找到命令行平展的设备树
找不到有效的设备树
切换到分区#0、好
mmc0 (第0部分)是当前器件
正在扫描 MMC 0:1...
无 EFI 系统分区
无 EFI 系统分区
无法保留 EFI 变量
未定义引导顺序
EFI 启动管理器:无法加载任何映像
未找到 MMC 器件1
插槽1上没有 MMC 设备
正在启动 USB...
未找到工作正常的控制器
USB 被停止。 请先发出"USB start"。
正在启动 USB...
未找到工作正常的控制器
未找到以太网。
缺少环境变量:pxeuuid
正在检索文件:pxelinux.cfg/00000000
未找到以太网。
正在检索文件:pxelinux.cfg/0000000
未找到以太网。
正在检索文件:pxelinux.cfg/000000
未找到以太网。
正在检索文件:pxelinux.cfg/00000
未找到以太网。
正在检索文件:pxelinux.cfg/0000
未找到以太网。
正在检索文件:pxelinux.cfg/000
未找到以太网。
正在检索文件:pxelinux.cfg/00
未找到以太网。
正在检索文件:pxelinux.cfg/0
未找到以太网。
正在检索文件:pxelinux.cfg/default-arm-k3-am62ax
未找到以太网。
正在检索文件:pxelinux.cfg/default-arm-k3
未找到以太网。
正在检索文件:pxelinux.cfg/default-arm
未找到以太网。
正在检索文件:pxelinux.cfg/default
未找到以太网。
未找到配置文件
正在启动 USB...
未找到工作正常的控制器
未找到以太网。
未找到以太网。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kishan:

    加载"//dtb/ti/k3-am62a7-sk.dtb 失败

    U-Boot 在/boot/dtb/ti 目录下查找内核 devicetree 文件。 在创建 bootfs.img 之前、您是否将文件 k3-am62a7-sk.dtb 复制到了正确的位置?

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

    你(们)好

    感谢您的答复!

    我已经将引导目录从文件系统复制到我的构建目录

    tar -xvf tisdk-edgeai-image-am62axx-evm.tar.xz --strip-components=1 C build//boot

    使用以下命令来创建 bootfs.img

    截断-s 120M bootfs.img
    DD if=bootfs.img bs=1M seek=150的/dev/null
    mkfs.ext4 -O ^metadata_csum -F bootfs.img
    mkdir -p 引导
    sudo mount -t ext4 -o loop bootfs.img $(pwd)/boot
    sudo cp -rv build/boot/* boot/
    SYNC -f 启动
    sudo umount -l boot

    使用以下命令刷写 bootfs.img

    设备:
    > setenv dfu_alt_info ${dfu_alt_info_emmc}
    > DFU 0 MMC 0

    主持人:
    sudo dfu-util -a boot -D bootfs.img

    内核被污染了我是否需要将其他东西复制到引导目录或我是否在刷写过程中丢失了?

    被污染的内核日志:

    [ 3.542907] debugfs:目录"pd:182"、其中父级"pm_genpd"已存在!
    [ 3.551719] debugfs:目录'pd:182'和父级'pm_genpd'已经存在!
    [ 3.559061] debugfs:目录'pd:182'和父级'pm_genpd'已经存在!
    [ 3.574179] ALSA 器件列表:
    [3.577243]找不到声卡。
    [ 3.618855] ext4-fs (mmcblk0p1 ):已安装的文件系统,带有序数据模式。 配额模式:无。
    [3.627472] VFS:在设备179:1上安装了 root (ext4文件系统)。
    [ 3.634092] devtmpfs:装入-2时出错
    [3.638634]释放未使用的内核内存:1984k
    [ 3.643269]作为初始化进程运行/sbin/init
    [ 3.647565]作为 init 进程运行/etc/init
    [ 3.651685]作为初始化进程运行/bin/init
    [ 3.655773]作为初始化进程运行/bin/sh
    [ 3.659659]内核严重错误-未同步:未找到工作初始化。 尝试将 init=选项传递给内核。 请参见 Linux Documentation/admin-guide/init.rst for GUI。
    [ 3.673804] CPU:1 PID:1 Comm:swapper/0 not duced 6.1.80-ti-g2e423244f8c0 #1
    [ 3.681188]硬件名称:Texas Instruments AM62A7 SK (DT)
    [ 3.686746]呼叫跟踪:
    [ 3.689183] dump_backtrace.part.0+0xdc/0xf0
    [ 3.693457] show_stack+0x18/0x30
    [ 3.696767] dump_stack_lvl+0x68/0x84
    [ 3.700426] dump_stack+0x18/0x34
    [ 3.703735] panic+0x188/0x348
    [ 3.706783] kernel_init+0x124/0x130
    [ 3.710355] ret_from_fork+0x10/0x20
    [3.713925] SMP:停止辅助 CPU
    [ 3.717844] Kernel Offset:disabled.
    [ 3.721320] CPU 特性:0x00,000,00800800,084,0000420b
    [3.726186]内存限制:无
    [ 3.729235]--[结束内核恐慌-未同步:未找到工作中的 init。 尝试将 init=选项传递给内核。 请参阅 Linux Documentation/admin-guide/init.linux- rs

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

    尊敬的 Kishan:

    [报价 userid="622259" url="~/support/processors-group/processors/f/processors-forum/1412031/am62a7-bootfs-img-generation-and-emmc-flashing-over-usb/5409076 #5409076"]tar -xvf tisdk-edgeai-image-am62axx-evm.tar.xz --条带组件=1 -C build//boot

    使用以下命令来创建 bootfs.img

    截断-s 120M bootfs.img
    DD if=bootfs.img bs=1M seek=150[/报价]的/dev/null

    如果我不是错的,你是试图创建一个120MB 的映像文件主机~900MB eageai rootfs tarball 吗?

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

    你(们)好

    我是否需要创建900MB 的 bootfs.img?

    只有 evm.tar.xz 中的引导目录足以满足要求、我们还需要添加其他内容吗?

    tar -xvf tisdk-edgeai-image-am62axx-evm.tar.xz --strip-components=1 C build//boot

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

    bootfs.img 的大小应足以托管您选择的 rootfs、具体取决于项目的应用。

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

    你(们)好  

    谢谢!

    我的 bootfs.img 创建是否正确、或者我是否需要在其中添加其他内容?


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

    尊敬的 Kishan:

    创建 bootfs 映像的命令序列似乎是正确的、除非您应该知道要使用的文件大小、这是由您为项目使用的 rootfs 确定的。 例如、Processor SDK 提供以下预编译的 rootfs 映像:

    - tisdk-edgeai-image-am62axx-evm.tar.xz [899MB]
    - tisdk-tiny-image-am62axx-evm.tar.xz [25MB]

    请注意、这些是压缩文件。 您必须对它进行解压缩才能查看托管根文件系统所需的空间大小。

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

    你(们)好

    非常感谢您的支持、

    您能否指导我、如何 使用 dfu-util 将 tar.xz 文件刷写到 eMMC、以便我能够刷写整个设备?

    我无法找到使用 dfu-util 通过 eMMC 刷写整个电路板的确切步骤。

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

    尊敬的 Kishan:

    抱歉、这是我的错、我没有意识到您的"flash_bootfs.sh"脚本只闪存到 eMMC 引导分区、而不是 rootfs、我们以前的所有通信都是无效的。 很抱歉混淆。

    您能否按照下面链接的说明刷写 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

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

    您好、Bin、

    我可以刷写 rootfs 系统、但如果我仅使用映像和 dtb 文件生成 bootfs.img、那么我无法完全引导设备、

    您能否分享使用 dfu-util 准备内核映像和闪存方法的过程?

    我将执行以下命令来准备 bootfs、其中我仅复制映像和 dtb 文件  

    截断-s 120M bootfs.img
    DD if=bootfs.img bs=1M seek=150的/dev/null
    mkfs.ext4 -O ^metadata_csum -F bootfs.img
    mkdir -p 引导
    sudo mount -t ext4 -o loop bootfs.img $(pwd)/boot
    sudo cp -rv build/kisha/boot/* boot/
    SYNC -f 启动
    sudo umount -l boot

    闪存命令:
    #> setenv dfu_alt_info ${dfu_alt_info_eMMC}
    #> DFU 0 MMC 0
    sudo dfu-util -a boot -D bootfs.img


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

    在上面链接的 e2e 常见问题解答中、它具有以下用于创建 rootfs 映像的指令:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    The following instructions can be used to prepare the <your_rootfs.ext4> using tisdk-base-image-am62xx-evm.tar.xz:
    $ cd <path-ti-psdk>/filesystem
    $ dd if=/dev/null of=tisdk-base.ext4 bs=1M seek=300
    $ mkfs.ext4 -F tisdk-base.ext4
    $ mkdir mnt_fs
    $ sudo mount -t ext4 tisdk-base.ext4 mnt_fs
    $ cd mnt_fs
    $ sudo tar xvf ../tisdk-base-image-am62xx-evm.tar.xz
    $ cd ..
    $ sudo umount mnt_fs
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    然后、您需要使用以下命令将 rootfs 映像刷写到 eMMC。 请确保将内核映像和 dtb 复制到使用上述说明创建的 rootfs。

    $ sudo dfu-util -a rootfs -D

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

    您好、Bin、

    此步骤将刷写完整的引导文件系统、我只想刷写内核和 dtb。

    我已尝试此操作并刷写了器件、但它将擦除整个器件。

    我们是否可以通过任何方法准备 bootfs.img 并仅更新 dtb 和内核映像?

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

    尊敬的 Kishan:

    要在 AM62Ax 电路板上运行 Linux、需要 Linux rootfs、如果 bootfs.img 仅具有内核映像及其 dtb、您应该在哪里将 rootfs 刷写到哪里?

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

    您好、Bin、

    我只刷写了 rootfs、我的问题是、我是否可以 只刷写内核和 dtb 映像而不是 rootfs?

    因为如果我每次都在平台驱动程序中调试某些内容、我需要刷写完整的 rootfs、它会擦除设备上的所有内容。

    因此、只在器件上刷写内核映像和 dtb。

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

    好的、现在我了解了您想要解决的问题-只需在软件开发期间更新 eMMC 中的内核即可。

    我可以考虑两种不同的解决方案。

    1.在最初将整个 Linux 刷写到 eMMC 中后、每次需要更新内核映像或 DTB 时、将板从 eMMC 引导到 Linux、然后使用板上的任何接口复制/下载 Linux 中的各个文件、并将其写入 eMMC 中的相应位置、然后重新启动板。 这与 Linux 计算机的使用方法基本相同。

    每当更新的内核映像或 dtb 导致电路板无法引导时、您需要使用 DFU 来刷写整个 rootfs 以便恢复。

    -2. 对 eMMC 进行分区以将内核映像和 dtb 与 rootfs 分离、以便这两个文件都不在 rootfs 中。 然后、您可以随时使用 DFU 来更新内核映像和 DTB。 您只需修改 U-Boot 即可从新分区加载内核映像和 dtb、但不能从 rootfs 加载。

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

    您好、Bin、

    非常感谢您的支持!

    您能否帮助 对 eMMC 进行分区以将内核映像和 DTB 与 rootf 分离?

    请提供任何参考资料或步骤。  

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

    尊敬的 Kishan:

    SDK 不支持此功能、因此我没有要向您展示的示例。 但我已经在上一篇文章中解释过,你应该能够遵循和实施它。

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

    您好、Bin、

    我已经使用"MACHINE="am62axx-evm" bitbake -k tisdk-edgeai-image"命令构建图像

    从以下位置刷写 rootfs、但在启动电路板时、我的内核和 dtb 更改不会受到影响。

    编译/部署-ti/images/am62axx-evm/tisdk-edgeai-image-am62axx-evm-20240930132544.rootfs.tar.xz

    使用以下命令准备 ext4  

    mkdir -p mnt_fs
    DD if=tisdk-base.ext4 /dev/null bs=1M seek=6144
    mkfs.ext4 -F tisdk-base.ext4
    sudo mount -t ext4 tisdk-base.ext4 mnt_fs
    CD mnt_fs
    sudo tar xvf ../tisdk-edgeai-image-am62axx-evm-20240930132544.rootfs.tar.xz
    cd ./
    sudo umount mnt_fs

    刷写步骤:

    # U-Boot 在运行前应等待连接:
    #> setenv dfu_alt_info ${dfu_alt_info_eMMC}
    #> DFU 0 MMC 0

    sudo dfu-util -a rootfs -D tisdk-base.ext4

    我是否需要按照以下命令中的说明来刷写内核和 dtb?

    • sudo dfu-util -a tiboot3.bin.raw -D
    • sudo dfu-util -a tispl.bin.raw -D
    • sudo dfu-util -a u-boot.img.raw -D

     参考: [常见问题解答] SK-AM62:如何在 AM62x-SK E2上使用 USB DFU 进行 eMMC 刷写-处理器论坛-处理器- TI E2E 支持论坛


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




    我具有以下配置

    ls -lrth /dev/block/platform /*
    lrwxrwxrwx 1根根根15一月1 1970 /dev/block/platform/boot ->../../mmcblk0p1
    lrwxrwxrwx 1根根根15一月1 1970 /dev/block/platform/rootfs ->../../mmcblk0p2



    root@am62axx-evm:~# dmesg | grep -i 'mmc'
    [ 0.982369] mmc0:CQHCI 版本5.10
    [ 1.023814] mmc0:fa1000.mmc [fa1000.mmc]上的 SDHCI 控制器使用 ADMA 64位
    [1.098712] mmc0:启用命令队列引擎
    [1.098730] mmc0:地址0001处的新 HS200 MMC 卡
    [ 1.099359] mmcblk0:mmc0:0001 016G01 14.5 GiB
    [ 1.102349] mmcblk0:p1 p2
    [ 1.103025] mmcblk0boot0:mmc0:0001 016G01 8.00 MIB
    [ 1.103919] mmcblk0boot1:mmc0:0001 016G01 8.00 MIB
    [ 1.104808] mmcblk0rpmb:mmc0:0001 016G01 4.00 MiB、chardev (510:0)
    [31.581167] EXT4-FS (mmcblk0p2 ):已安装的文件系统,带有序数据模式。 配额模式:无。
    [35.894032] EXT4-FS (mmcblk0p2):重新安装。 配额模式:无。
    [39.259037] EXT4-FS (mmcblk0p1 ):已安装的文件系统,带有序数据模式。 配额模式:无。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    lrwxrwxrwx 1根根根号15 1月1日1970 /dev/block/platform/boot ->/../mmcblk0p1
    lrwxrwxrwx 1根根根1月15日1970年/dev/block/platform/rootfs ->../../mmcblk0p2

    好的、现在您的 eMMC UDA 有两个分区。

    [报价 userid="622259" url="~/support/processors-group/processors/f/processors-forum/1412031/am62a7-bootfs-img-generation-and-emmc-flashing-over-usb/5452955 #5452955"]#> setenv dfu_alt_info ${dfu_alt_info_emmc}

    我从未执行此操作、但您需要修改$dfu_alt_info_eMMC、这样即可

    sudo dfu-util -a rootfs -D tisdk-base.ext4

    此"rootfs"指向 mmcblk0p2、而不是默认的 mmcblk0。

    对于 DFU 闪存内核映像和将 DTB 写入 mmcblk0p1、您需要向$DFU_alt_info_eMMC 添加两个条目、以便这两个文件都能够以 FAT 文件格式写入 mmcblk0p1。

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

    你(们)好

    感谢您的答复!

    我已经打印了 env 变量。


    Fullscreen
    1
    2
    3
    4
    5
    6
    dfu_alt_info_emmc=rawemmc raw 0 0x800000 mmcpart 1; boot part 0 1; rootfs part 0 2; tiboot3.bin.raw raw 0x0 0x400 mmcpart 1; tispl.bin.raw raw 0x400 0x1000 mmcpart 1; u-1
    dfu_alt_info_mmc=boot part 1 1; rootfs part 1 2; tiboot3.bin fat 1 1; tispl.bin fat 1 1; u-boot.img fat 1 1; uEnv.txt fat 1 1; sysfw.itb fat 1 1
    dfu_alt_info_nand=NAND.tiboot3 part 0 1; NAND.tispl part 0 2; NAND.tiboot3.backup part 0 3; NAND.u-boot part 0 4; NAND.u-boot-env part 0 5; NAND.u-boot-env.backup part 07
    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; sysfw.itb raw 0x6c000
    dfu_alt_info_ospi_nand=ospi_nand.tiboot3 part 1; ospi_nand.tispl part 2; ospi_nand.u-boot part 3; ospi_nand.env part 4; ospi_nand.env.backup part 5; ospi_nand.rootfs par7
    dfu_alt_info_ram=tispl.bin ram 0x80080000 0x200000; u-boot.img ram 0x81000000 0x400000
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    q1) 您能否分享如何更新"dfu_alt_info_emmc"
    Q2) 我是否需要按照下面的命令来刷写我的内核和 dtb:

    • sudo dfu-util -a tiboot3.bin.raw -D
    • sudo dfu-util -a tispl.bin.raw -D
    • sudo dfu-util -a u-boot.img.raw -D

     参考: [常见问题解答] SK-AM62:如何在 AM62x-SK E2上使用 USB DFU 进行 eMMC 刷写-处理器论坛-处理器- TI E2E 支持论坛

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

    尊敬的 Kishan:

    q1) 请分享如何更新"dfu_alt_info_emc"

    我想您可以引用 dfu_alt_info_mmc、它以 FAT 格式定义文件。

    Q2) 是否需要按照下面的命令来刷写内核和 DTB?

    是的、这种刷写 u-boot 二进制文件的方法没有变化。 它们与闪存内核和 DTB 无关、后者会进入不同的分区和格式。

x 出现错误。请重试或与管理员联系。