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.
大家好、我在尝试再次使用它、仍然存在通过 USB 将映像刷写到 eMMC 的相同问题。
日志;
PS C:\Users\mitesh.Hiran\Downloads\dfu-util-0.11-binaries.tar\dfu-util-0.11-binaries\win64>.\dfu-util.exe -l
dfu-util 0.11
版权所有2005-2009年 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
该程序是自由软件,没有任何担保
请将错误报告给 sourceforge.net/.../
找到 DFU:[0451:6165] ver=0200、devnum=13、cfg=1、intf=0、path="1-2.2.2"、 alt=1、name="SockId"、serial="01.00.00.00.00.00.00.0"
找到 DFU:[0451:6165] ver=0200、devnum=13、cfg=1、intf=0、path="1-2.2.2"、 alt=0、name="bootloader"、serial="01.00.00.00
PS C:\Users\mitesh.Hiran\Downloads\dfu-util-0.11-binaries.tar\dfu-util-0.11-binaries\win64>.\dfu-util.exe -R -a bootloader -D 'C:\Users\mitesh.Hiran\Downloads\AM62 U-boot - dfu\tiboot3.bin'
dfu-util 0.11
版权所有2005-2009年 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
该程序是自由软件,没有任何担保
请将错误报告给 sourceforge.net/.../
警告:DFU 后缀签名无效
未来的 dfu-util 版本中将需要有效的 DFU 后缀
无法打开 devnum 20上的 DFU 器件17e9:4307 (libusb_error_not_found)
正在打开支持 DFU 的 USB 设备...
设备 ID 0451:6165
器件 DFU 版本0110
正在申请 USB DFU 接口...
正在设置备用接口#0...
正在确定设备状态...
DFU 状态(2)= dfuIDLE、STATUS (0)=不存在错误条件
DFU 模式器件 DFU 版本0110
设备返回的传输大小512
将数据从 PC 复制到 DFU 器件
下载============================ 100% 330614字节
下载完成。
DFU 状态(6)= dfuMANIFEST-SYNC、状态(0)=不存在错误条件
完成后无法读取 DFU 状态(libusb_error_pipe)
PS C:\Users\mitesh.Hiran\Downloads\dfu-util-0.11-binaries.tar\dfu-util-0.11-binaries\win64>.\dfu-util.exe -R -a tispl.bin -D "C:\Users\mitesh.Hiran\Downloads\am62 U-boot - dfu/tispl.bin"
dfu-util 0.11
版权所有2005-2009年 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
该程序是自由软件,没有任何担保
请将错误报告给 sourceforge.net/.../
警告:DFU 后缀签名无效
未来的 dfu-util 版本中将需要有效的 DFU 后缀
无法打开 devnum 20上的 DFU 器件17e9:4307 (libusb_error_not_found)
正在打开支持 DFU 的 USB 设备...
设备 ID 0451:6165
器件 DFU 版本0110
正在申请 USB DFU 接口...
正在设置备用接口#0...
正在确定设备状态...
DFU 状态(2)= dfuIDLE、STATUS (0)=不存在错误条件
DFU 模式器件 DFU 版本0110
设备返回的传输大小4096
将数据从 PC 复制到 DFU 器件
下载============================ 100% 916184字节
下载完成。
DFU 状态(7)= dfuMANIFEST、STATUS (0)=不存在错误条件
DFU 状态(2)= dfuIDLE、STATUS (0)=不存在错误条件
完成!
复位 USB 以切换回运行时模式
PS C:\Users\mitesh.Hiran\Downloads\dfu-util-0.11-binaries.tar\dfu-util-0.11-binaries\win64>.\dfu-util.exe -R -a u-boot.img -D 'C:\Users\mitesh.Hiran\Downloads\AM62 U-boot - dfu\u-boot.img'
dfu-util 0.11
版权所有2005-2009年 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
该程序是自由软件,没有任何担保
请将错误报告给 sourceforge.net/.../
警告:DFU 后缀签名无效
未来的 dfu-util 版本中将需要有效的 DFU 后缀
无法打开 devnum 20上的 DFU 器件17e9:4307 (libusb_error_not_found)
无支持 DFU 的 USB 器件可用
PS C:\Users\mitesh.Hiran\Downloads\dfu-util-0.11-binaries.tar\dfu-util-0.11-binaries\win64>
这就是我在控制台上得到的结果:
U-Boot SPL 2021.01-00002-g27f28e9f8f (6月29 2023 - 07:05:16 -0700)
SYSFW ABI:3.1 (固件版本0x0008'8.6.4--v08.06.04 (Chill Capybar')
SPL 初始堆栈使用:13424字节
尝试从 DFU 引导
############################################################## 下载... 确定
Ctrl+C 退出...
SPL_LOAD_FIT_IMAGE:跳过负载"ATF":图像尺寸为0!
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
正在从 MMC 加载环境... 未找到 MMC 器件0
***警告-使用默认环境时未找到 MMC 卡
不支持器件10的 init_env!
在 ARM64内核上启动 ATF...
尊敬的 Mitesh:
ATF 的大小为零、这意味着它缺失。 您遵循哪些构建说明?
~朱迪斯
Judith、您好、我注意到、这是我为构建遵循的链接。
尊敬的 Mitesh:
这些说明应是最新的。
我会检查以下命令:
make ATF=$(pwd)/../prebuilt-images/bl31.bin tee=$(pwd)/../prebuilt-images/bl32.bin DM=$(pwd)/../prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f O=build/ARM64
并验证 bl31.bin 实际上是否位于预构建映像目录中。
~朱迪斯
Judith、您好!这些文件确实存在。 但是、在运行 make 命令时、请注意该错误。
$ sudo make ATF=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl31.bin tee=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl32.bin DM=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f O=build/ARM64
make[1]:输入目录/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/build/ARM64'
==================== 警告====================
此电路板使用 CONFIG_SPL_FIT_TIMER。 请迁移
为了避免这种情况的扩散,
特定于 Arch 的脚本、无需任何测试。
================================
CFGCHK u-boot.cfg
使用/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654作为 U-Boot 的源
UPD 包括/生成/ timestamp_autogenerated.h
CC lib/ASM-offset.s
CC1:警告:未知寄存器名称:x18
CC1:‘:"‘March="开关的值错误( ARMv8-A')
CC1:‘:"March="开关的有效参数为: Nocona core2 Nehalem core7 Westmere Sandybridge core7-AVX ivybridge core-AVX-I Haswell core-AVX2 broadwell skylake skylake-avx512 bonnell 凌动 Silvermont SLM Silvermont SLM KNL x86-64 Fx-x2 nano -1000 nano -2000 nano-3000 nano-x2 Edon-x2 Edon-x4 K8 K8-x4-x4 K8 K8 K8 K8-SS3 -版本1 ATLON3 -版本1 ATON3 -版本3 -版本1 ATLON1 ANDB4 ATOLN-版本3 -版本3 -版本3 -版本3 -版本3 -版本3 -版本3 -版本3
/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/scripts/Makefile.build:155:目标"lib/ASM-offsets.s"的食谱失败
make[2]:***[lib/ASM-offsets.s]错误1
/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/Makefile:1846:目标"prepare0"的配方失败
make[1]:***[prepare0]错误2
make[1]:正在离开目录/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/build/ARM64'
Makefile:167:目标'SHUB-make'的食谱失败
制造:***[sub-make]错误2
尊敬的 Mitesh:
由于该命令看起来正确、因此它应在假设您的设置正确的情况下有效。 您是否遵循了以下文档: https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM62X/08_06_00_42/exports/docs/linux/Overview/Top_Level_Makefile.html 并安装了所有依赖项?
~朱迪斯
Judith、您好!
是的、我做了所有这些。
我能够从顶级 make 文件构建 U-boot 和 Linux、但只有在转至 SDK 的 u-boot 目录时、我才会看到所说的错误。
尊敬的 Mitesh:
很抱歉耽误你的时间。 好的、您正在从 U-boot 目录构建。
请尝试以下操作:
export ARCH=arm export CROSS_COMPILE=aarch64-none-linux-gnu- export PATH="<path-to-sdk>/linux-devkit/sysroots/x86\_64-arago-linux/usr/bin:$PATH" make am62x_evm_a53_defconfig O=build/arm64 make ATF=<path-to-sdk>/board-support/prebuilt-images/bl31.bin TEE=/<path-to-sdk>/board-support/prebuilt-images/bl32.bin DM=<path-to-sdk>/board-support/prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f O=build/arm64
您好、Judith、仍然是相同的错误:
:~/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654$ export ARCH=ARM
miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2efd654$ export cross_compile=are64-none-linux-GNU
miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654$ echo $path
/../../linux-devkit/sysroots/x86_64-arago-linux/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654$ sudo make am62x_EVM_A53_defconfig O=build/ARM64
make[1]:输入目录/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/build/ARM64'
#
#配置写入.config
#
make[1]:正在离开目录/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/build/ARM64'
miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654$ sudo make aft=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl31.bin /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl32.bin DM=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f O=build/ARM64
make[1]:输入目录/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/build/ARM64'
scripts/kconfig.conf --syncconfig Kconfig
CFG u-boot.cfg
CC1:警告:未知寄存器名称:x18
Gen include/autoconf.mk
Gen include/autoconf.mk.dep
CC1:警告:未知寄存器名称:x18
CFG spl/ u-boot.cfg
CC1:警告:未知寄存器名称:x18
Gen spl/include/autoconf.mk
==================== 警告====================
此电路板使用 CONFIG_SPL_FIT_TIMER。 请迁移
为了避免这种情况的扩散,
特定于 Arch 的脚本、无需任何测试。
================================
CFGCHK u-boot.cfg
使用/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654作为 U-Boot 的源
UPD 包括/生成/ timestamp_autogenerated.h
CC lib/ASM-offset.s
CC1:警告:未知寄存器名称:x18
CC1:‘:"‘March="开关的值错误( ARMv8-A')
CC1:‘:"March="开关的有效参数为: Nocona core2 Nehalem core7 Westmere Sandybridge core7-AVX ivybridge core-AVX-I Haswell core-AVX2 broadwell skylake skylake-avx512 bonnell 凌动 Silvermont SLM Silvermont SLM KNL x86-64 Fx-x2 nano -1000 nano -2000 nano-3000 nano-x2 Edon-x2 Edon-x4 K8 K8-x4-x4 K8 K8 K8 K8-SS3 -版本1 ATLON3 -版本1 ATON3 -版本3 -版本1 ATLON1 ANDB4 ATOLN-版本3 -版本3 -版本3 -版本3 -版本3 -版本3 -版本3 -版本3
/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/scripts/Makefile.build:155:目标"lib/ASM-offsets.s"的食谱失败
make[2]:***[lib/ASM-offsets.s]错误1
/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/Makefile:1846:目标"prepare0"的配方失败
make[1]:***[prepare0]错误2
make[1]:正在离开目录/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01 +gitAUTOINC+2ee8efd654-g2ee8efd654/build/ARM64'
Makefile:167:目标'SHUB-make'的食谱失败
制造:***[sub-make]错误2
miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654$
尊敬的 Mitesh:
您要使用哪个 Ubuntu 版本来构建 SDK? Ubuntu 18.04是针对08.06 SDK 验证的版本、因此我建议使用该版本。 此外、如果可以使用顶级 Makefile 进行构建、为什么需要在 U-boot 目录中进行构建?
~朱迪斯
是的、我使用的是18.04 Ubuntu。
我不必从 U-Boot 目录进行构建、我认为如果您希望针对 USB DFU 进行构建、这是唯一的构建方法
请告诉我如何使用 SDK 顶层为 USB DFU 构建 u-boot。
这就是我所关注的内容。
我现在可以构建文件、但您能告诉我应该在哪个位置生成以下文件:
.../build/r5或../build/arm64
谢谢
因此、为了更新、我使用了../k3-image-上的 tiboot3.bin
以及../build/arm64.中的其他两个文件
现在、我在控制台上看到了以下代码:
U-Boot SPL 2021.01-00002-g27f28e9f8f (7月13 2023 - 04:14:06 -0700)
SYSFW ABI:3.1 (固件版本0x0008'8.6.4--v08.06.04 (Chill Capybar')
SPL 初始堆栈使用:13424字节
尝试从 DFU 引导
################################################################ 下载... 确定
Ctrl+C 退出...
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
警告:在 GP 器件上检测到图像签名证书。 跳过证书 t
o 防止启动失败。 如果映像也已加密、则此操作将失败
正在从 MMC 加载环境... 未找到 MMC 器件0
***警告-使用默认环境时未找到 MMC 卡
不支持器件10的 init_env!
在 ARM64内核上启动 ATF...
注意:BL31:v2.8 (release):v2.8-226-g2fcd408bb3-Dirty
公告: BL31:构建时间:2023年2月24日05:06:58
U-Boot SPL 2021.01-00002-g27f28e9f8f (7月13 2023 - 04:20:03 -0700)
SYSFW ABI:3.1 (固件版本0x0008'8.6.4--v08.06.04 (Chill Capybar')
尝试从 DFU 引导
####下载... 确定
Ctrl+C 退出...
U-Boot 2021.01-00002-g27f28e9f8f (7月13 2023 - 04:20:03 -0700)
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
=>MMC partconf 0 1 1
=> MMC bootbus 0 2 0 0
=>
然后对电路板进行下电上电、并将电源从 J13接回 J11。
并将引导 DIP 开关更改为 eMMC、但未开启 Linux。
引导设置
SW1
1和2导通
3个
4个开启
5和6个
7开启
8个
和 SW2都关闭。
如果我在 u-boot 加载期间未按任何键、我得到以下结果:
U-Boot SPL 2021.01-00002-g27f28e9f8f-Dirty (Jul 13 2023 - 06:06:46 -0700)
SYSFW ABI:3.1 (固件版本0x0008'8.6.4--v08.06.04 (Chill Capybar')
尝试从 DFU 引导
####下载... 确定
Ctrl+C 退出...
U-Boot 2021.01-00002-g27f28e9f8f-Dirty (Jul 13 2023 - 06:06:46 -0700)
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
MMC:不存在卡
在器件1上找到 SD/MMC
MMC:不存在卡
MMC:不存在卡
MMC:不存在卡
MMC:不存在卡
MMC:不存在卡
libfdt FDT_check_header ():FDT_ERR_BADMAGIC
未配置 FDT 存储器地址。 请配置
通过"FDT addr "添加 FDT 地址
尊敬的 Mitesh:
尝试更新 Rules.make 行49. 更改 USB-DFU defconfig 的 regurlar R5 defconfig、并使用"make u-boot"命令重新编译 U-boot。
然后、tiboot3.bin 应位于 board-support/k3-image-gen-2022.01中、而另外两个应该位于:board-support/u-boot_build/A53中。
使用这些文件使用 USB-DFU 引导至 U-boot 提示符 STOP。
使用 USB DFU 引导至 U-boot 后、在 U-boot 提示符下停止、并执行以下操作:
验证 rootfs 在 UDA 中存在的分区:
=>
=>MMC 部件
MMC 设备0的分区映射 -- 分区类型:EFI
零件 开始 LBA 结束 LBA 名称
属性
类型 GUID
分区 GUID
1 0x00000800 0x01da3fde ""
attrs: 0x000000000000
类型: 024dee41-33e7-11D3-9d69-0008c781f39f
GUID: 3C0d0ba7-4adb-6847-92e6-6027f447dad0
=>
如果没有,请使用以下命令在 U-boot 中创建新分区:
=> GPT 写 MMC 0 $partitions
setenv dfu_alt_info ${dfu_alt_info_eMMC}
DFU 0 MMC 0
按任意键以停止自动引导: 0
=>
=>
=> setenv dfu_alt_info ${dfu_alt_info_eMMC}
=> DFU 0 MMC 0
验证上述命令是否正在运行、并转到主机 PC 以将文件传输到 eMMC
在 Linux 主机上执行以下操作:
sudo dfu-util -a tiboot3.bin.raw -D tiboot3.bin
sudo dfu-util -a tispl.bin.raw -D tispl.bin
sudo dfu-util -a u-boot.img.raw -D u-boot.img
sudo dfu-util -a rootfs -D tisdk-base.ext4
UART 串行控制台应显示:
=> DFU 0 MMC 0
##download (下载)... 确定
Ctrl+C 退出...
####下载... 确定
Ctrl+C 退出...
####下载... 确定
Ctrl+C 退出...
########################################################################################## 下载... 确定
Ctrl+C 退出...
现在、在 U-boot 中、请执行以下操作:
=>MMC partconf 0 1 1
=> MMC bootbus 0 2 0 0
若要从 eMMC 引导 rootfs、请在 U-boot 环境中放置以下命令:
=> setenv mmcdev 0
=> setenv bootpart 0
使用 eMMC 引导重新启动电路板
~朱迪斯
如果没有准备 rootfs,请执行以下操作:
#在 tisdk-base-image-am62xx-evm.tar.xz 所在的目录中
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
#现在使用 tisdk-base.ext4闪存到 eMMC
~朱迪斯
请告诉我这是否适合您。
~朱迪斯
大家好、Judith、我得到的一切就是:
U-Boot 2021.01-00002-g27f28e9f8f-Dirty (Jul 13 2023 - 06:06:46 -0700)
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
MMC:不存在卡
在器件1上找到 SD/MMC
MMC:不存在卡
MMC:不存在卡
MMC:不存在卡
MMC:不存在卡
MMC:不存在卡
libfdt FDT_check_header ():FDT_ERR_BADMAGIC
未配置 FDT 存储器地址。 请配置
通过"FDT addr "添加 FDT 地址
您能否帮助我理解以下内容?
所以每次我尝试让 USB DFU 引导正常工作时、好像都是在 AM62x 的片上存储器上写入正确的内容? R5处理器?
然后、我想切换回从 SD 卡引导为什么我只需更改引导引脚并插入 SD 卡? 什么以及如何写入 R5处理器以使 SD 卡启动正常工作?
谢谢
尊敬的 Mitesh:
在上面的日志中、您是否执行了以下操作:
=> setenv mmcdev 0
=> setenv bootpart 0
=>引导
在 eMMC 引导期间、在 u-boot 提示符下?
所以每次我尝试让 USB DFU 引导正常工作时、好像都是在 AM62x 的片上存储器上写入正确的内容? R5处理器?
--->首先,我们使用 USB-DFU 引导至 U-boot 提示符。 然后、由于我们使用 USB-DFU 刷写到 eMMC、因此我们会写入板载 eMMC 器件、并直接刷写到 eMMC 中的某个地址。
然后、我想切换回从 SD 卡引导为什么我只需更改引导引脚并插入 SD 卡? 什么以及如何写入 R5处理器以使 SD 卡启动正常工作?
-->请说明,您无法从 SD 卡启动? 如果是、请尝试从08.06 SDK 中使用"tisdk-default-image-am62xx-evm.wic.xz"映像、使用 Balena 或类似产品刷写到 SD 卡、并验证电路板是否可以引导至 Linux 提示符。
您有一个 GP 器件、因此在刷写 SD 卡的引导分区中切换"tiboot3.bin"、并将其命名为"tiboot3-am62x-gp-evm.bin"
~朱迪斯
Judith、您好、我刚才尝试过这样做、并收到了以下消息:
ERR:串行@2800000
NET:eth0:以太网@8000000port@1
按任意键以停止自动引导:0
=> setenv mmcdev 0
=> setenv bootpart 0
=>引导
切换到分区#0,确定
mmc0 (第0部分)是当前器件
在器件0上找到 SD/MMC
加载"boot.scr"失败
加载"uEnv.txt"失败
加载"/boot/Image "失败
加载"/boot/k3-am625-sk.dtb "失败
libfdt FDT_check_header ():FDT_ERR_BADMAGIC
未配置 FDT 存储器地址。 请配置
通过"FDT addr "添加 FDT 地址
Judith、您好!
不可以、我的意思是、我默认情况下可以从 SD 卡引导、并且一切都在开发阶段良好运行。
但是、我想在生产中使用 eMMC 存储器、而不是 SD 卡。 作为从 eMMC 获取引导的测试的一部分、我正在就该 DFU USB 部分与您进行合作、您可以看到、我们现在可以使用 DFU USB 并加载 u-boot、同时我们仍在努力解决这一问题、 当我更改引导引脚并插入 SD 卡时、系统不会从 SD 卡引导。 有什么原因吗?
我们是否要更改需要重新编程才能从 SC 卡启动的 M4或 R5设置?
谢谢。
我刚刚尝试过... 但无法确定这是一条命令还是另一条命令。
Miteshhiran@ubuntu:~/ti-processor-sdk-linux-am62xx-evm-08.06.00.42$ cd ./filesystem/
miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/filesystem$ dd if=/dev/null of=tisdk-default.ext4 bs=1M seek=300
中的0+0记录
0+0记录
复制0字节、0.00027113s、0.0kb/s
Miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/files$ mkfs.ext4-F tisdk-default.ext4
mkfs.ext4-F:未找到命令
miteshhiran@ubuntu:~ ti-processor-sdk-linux-am62xx-evm-08.06.00.42/filesystem$ dd if=/dev/null of=tisdk-default.ext4 bs=1M seek=300 mkfs.ext4 -f tisdk-default.ext4
DD:无效选项--"F"
有关详细信息,请尝试"d--help"。
Miteshhiran@ubuntu:ti/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/filesystem$~
尊敬的 Mitesh:
好的,在上面的日志中,似乎您没有正确配置 rootfs:
在 Linux 计算机中一次执行一个命令、例如:
test:<path-to-sdk>/filesystem$ mkfs.ext4 -F tisdk-base.ext4 mke2fs 1.46.5 (30-Dec-2021) The file tisdk-base.ext4 does not exist and no size was specified. test:<path-to-sdk>/filesystem$ dd if=/dev/null of=tisdk-base.ext4 bs=1M seek=300 0+0 records in 0+0 records out 0 bytes copied, 0.000231378 s, 0.0 kB/s test:<path-to-sdk>/filesystem$ mkfs.ext4 -F tisdk-base.ext4 mke2fs 1.46.5 (30-Dec-2021) Discarding device blocks: done Creating filesystem with 76800 4k blocks and 76800 inodes Filesystem UUID: 2963df85-a637-4103-9472-1da1c68f9246 Superblock backups stored on blocks: 32768 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done test:<path-to-sdk>/filesystem$ mkdir mnt_fs test:<path-to-sdk>/filesystem$ sudo mount -t ext4 tisdk-base.ext4 mnt_fs test:<path-to-sdk>/filesystem$ cd mnt_fs test:<path-to-sdk>/filesystem/mnt_fs$ test:<path-to-sdk>/filesystem/mnt_fs$ sudo tar xvf ../tisdk-base-image-am62xx-evm.tar.xz ..... ./var/lib/opkg/status ./var/lib/systemd/ ./var/local/ ./var/lock ./var/log ./var/run ./var/spool/ ./var/spool/mail/ ./var/tmp ./var/volatile/ test:<path-to-sdk>/filesystem/mnt_fs$ cd .. test:<path-to-sdk>/filesystem$ sudo umount mnt_fs
对于"mkfs.ext4 -F"命令、mkfs.ext4和-F 部分之间存在一个空间。
完成此过程后、您将离开 tisdk-base.ext4文件、您将使用该文件通过 USB-DFU 作为 rootfs 进行传输。
~朱迪斯
但是、我想在生产中使用 eMMC 存储器、而不是 SD 卡。 作为从 eMMC 获取引导的测试的一部分、我正在就该 DFU USB 部分与您进行合作、您可以看到、我们现在可以使用 DFU USB 并加载 u-boot、同时我们仍在努力解决这一问题、 当我更改引导引脚并插入 SD 卡时、系统不会从 SD 卡引导。 有什么原因吗?
-->它应该起作用,确保你正在使用冷启动。 关闭电路板电源、然后重新打开。 然后、ROM 读取引导模式并使用该引导方法进行引导。 因此、对于 R5 SPL、它应该起作用。 我将在这里稍作验证。
~朱迪斯
Judith、您好!
很有道理。 看起来像内存用完了...
日志:
tar:./var: can't mkdir: no space left on device
tar:./var/lib/opkg/info/kernel-module-videobuf2-dma-contig-5.10.168-g2c23e6c538.list:无法打开:没有这样的文件或目录
/var/lib/opkg/info/kernel-module-videobuf2-dma-contig-5.10.168-g2c23e6c538.postinst
tar:./var: can't mkdir: no space left on device
tar:./var/lib/opkg/info/kernel-module-videobuf2-dma-contig-5.10.168-g2c23e6c538.postinst:无法打开:没有这样的文件或目录
/var/lib/opkg/info/kernel-module-videobuf2-dma-contig-5.10.168-g2c23e6c538.postrm
tar:./var: can't mkdir: no space left on device
tar:./var/lib/opkg/info/kernel-module-videobuf2-dma-contig-5.10.168-g2c23e6c538.postrm:无法打开:没有这样的文件或目录
/var/lib/opkg/info/kernel-module-videobuf2-dma-sg-5.10.168-g2c23e6c538.control
tar:./var: can't mkdir: no space left on device
tar:./var/lib/opkg/info/kernel-module-videobuf2-dma-sg-5.10.168-g2c23e6c538.control:无法打开:没有这样的文件或目录
/var/lib/opkg/info/kernel-module-videobuf2-dma-sg-5.10.168-g2c23e6c538.list
tar:./var: can't mkdir: no space left on device
tar:./var/lib/opkg/info/kernel-module-videobuf2-dma-sg-5.10.168-g2c23e6c538.list:无法打开:没有这样的文件或目录
/var/lib/opkg/info/kernel-module-videobuf2-dma-sg-5.10.168-g2c23e6c538.postinst
尊敬的 Mitesh:
e2e.ti.com/.../tisdk_2D00_base.zip
在这里、我将共享我的文件。 您只需解压缩并继续使用 USB-DFU 命令刷写 eMMC。
~朱迪斯
谢谢 Judith,我将尝试这个,然而,我想使用 tisdk-默认文件系统,而不是 tisdk-基础。
您会告诉我如何增加分区的内存来实现这一点吗?
谢谢
尊敬的 Mitesh:
当然可以、但让我们首先验证该过程是否正常工作。
~朱迪斯
有道理。
我有 tisdk-base-image、但它是一个装载。
您能否说明使用 DFU USB 将安装驱动器或将安装驱动器传输到电路板时需要采取的后续步骤?
尊敬的 Mitesh:
我不确定我是否正确理解了您的问题。 但是、如果您没有尝试通过 USB-DFU 将 tisdk-base-image 刷写到 eMMC、请按照前面的步骤操作:
在 USB-DFU 引导后出现 U-boot 提示符时:
按任意键以停止自动引导: 0
=>
=>
=> setenv dfu_alt_info ${dfu_alt_info_eMMC}
=> DFU 0 MMC 0
验证上述命令是否正在运行、并转到主机 PC 以将文件传输到 eMMC:
在 Linux 主机上执行以下操作:
sudo dfu-util -a tiboot3.bin.raw -D tiboot3.bin
sudo dfu-util -a tispl.bin.raw -D tispl.bin
sudo dfu-util -a u-boot.img.raw -D u-boot.img
sudo dfu-util -a rootfs -D tisdk-base.ext4
~朱迪斯
Judith、您好!
我已经尝试了您提供的步骤:
不确定如何验证这些命令、但在"dfu 0 mmc 0"之后、引导命令"'=>"消失了
然后、在使用 DFU USB 的 Windows PC 上、我尝试以下操作并出现错误:
.\dfu-util.exe -a .\tiboot3.bin.raw -D .\tiboot3.bin
dfu-util 0.11
版权所有2005-2009年 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
该程序是自由软件,没有任何担保
请将错误报告给 sourceforge.net/.../
警告:DFU 后缀签名无效
未来的 dfu-util 版本中将需要有效的 DFU 后缀
无支持 DFU 的 USB 器件可用
PS C:\Users\mitesh.Hiran\Downloads\dfu-util-0.11-binaries.tar\dfu-util-0.11-binaries\win64>
从何处获取"tiboot3.bin.raw"文件? 我们有 tiboot3.bin、并使用此文件通过 DFU USB 引导 u-boot。
我使用 Windows PC 运行 DFU USB。
谢谢
Judith、您好!
现在、我尝试了使用 Linux 计算机、并得到了更进一步、但现在内存空间问题:
根据您以前的消息尝试过此功能:
GPT 写 MMC 0 $partitions
并且能够下载整个 rootfs。
已将 引导设置更改为从 eMMC 引导、已重新启动 EVM 板并将电源连接到 J11、并且出现以下错误:
尊敬的 Mitesh:
需要最终的引导日志。 我们现在正在尝试使用 eMMC 引导进行引导、我们找不到 tispl.bin。 现在、对于您要刷写到 eMMC 的映像、这些映像应为 tiboot3.bin、tispl.bin 和 u-boot.img、以及 tisdk-base.ext4 。 请使用以下引导加载程序二进制文件进行刷写。 它们具有以下更改:
diff --git a/arch/arm/mach-k3/am625_init.c b/arch/arm/mach-k3/am625_init.c index d103c73770..4f54eeff82 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 d9bf9a5b7d..f3af0a6e51 100644 --- a/configs/am62x_evm_a53_defconfig +++ b/configs/am62x_evm_a53_defconfig @@ -82,7 +82,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
~朱迪斯
Judith、您好!
我再次尝试使用您的文件版本、但仍然存在相同的问题:
尊敬的 Mitesh:
您是否能够提供一个用于显示整个过程的日志、包括 USB-DFU 传输和串行控制台日志。 也许我们有事情做错了。 请先使用我提供的图像。
~朱迪斯
您好!
引导设置:
SW1 =开关闭关闭关闭关闭关闭关闭关闭关闭关闭关闭
SW2 = OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF 关闭关闭关闭关闭
然后、我已使用 DFU defconfigs 加载三个文件、
然后使用3个文件在 eMMC 加载到
然后将引导设置更改为
SW1 =开关闭关闭关闭关闭关闭关闭关闭关闭关闭关闭关闭
SW2 = OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF 关闭关闭关闭关闭
重新启动系统并使用 J11端口连接电源。
然后获取前面提到的错误。
谢谢
尊敬的 Mitesh:
好的、这应该起作用了。 我将查看驱动程序、并会回复给您。
与此错误无关、但您可以在执行以下命令之后保存 U-boot 环境:
=>
=>MMC partconf 0 1 1
=> MMC bootbus 0 2 0 0
=> setenv mmcdev 0
=> setenv bootpart 0
=> saveenv
在重新引导后在 eMMC 中引导正确的 rootfs。
~朱迪斯
尊敬的 Mitesh:
您是否可以尝试将以下二进制文件刷写到 eMMC:
e2e.ti.com/.../0702.tiboot3.bin
e2e.ti.com/.../4150.tispl.bin
e2e.ti.com/.../5582.u_2D00_boot.img
我相信我复制了您的问题、并且这些二进制文件可以帮我解决。
~朱迪斯
这家酒店很不错!!! 谢谢。
您能告诉我、为了让此工具发挥作用、我需要做哪些更改吗?
谢谢
尊敬的 Mitesh:
您必须添加两个修补程序。 下面是这些差异:
1.找到 USB-DFU 解决方法: software-dl.ti.com/.../Release_Specific_Workarounds.html 、用于通过 USB-DFU 引导:
diff --git a/include/configs/am62x_evm.h b/include/configs/am62x_evm.h index 97bd7c1fd7..992294acfe 100644 --- a/include/configs/am62x_evm.h +++ b/include/configs/am62x_evm.h @@ -504,7 +504,7 @@ #endif -#ifdef CONFIG_TARGET_AM625_A53_EVM +#if defined(CONFIG_TARGET_AM625_A53_EVM) || defined(CONFIG_SPL_DFU) #define EXTRA_ENV_DFUARGS \ DFU_ALT_INFO_MMC \ DFU_ALT_INFO_EMMC \
diff --git a/arch/arm/mach-k3/am625_init.c b/arch/arm/mach-k3/am625_init.c index d103c73770..4f54eeff82 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 d9bf9a5b7d..f3af0a6e51 100644 --- a/configs/am62x_evm_a53_defconfig +++ b/configs/am62x_evm_a53_defconfig @@ -82,7 +82,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
~朱迪斯
还有一件我忘了说的事:
在 U-boot 提示符下进行 USB-DFU 引导:
=>MMC partconf 0 1 1
=> MMC bootbus 0 2 0 0
#将引导模式更改为 eMMC 引导
在 U-boot 提示符下进行 eMMC 引导:
=> setenv mmcdev 0
=> setenv bootpart 0
=> saveenv
这是正确的流程。
~朱迪斯
谢谢。 我将尝试一下并更新您的信息。
在刷写 eMMC 后切换到 SD 卡引导方面、我们是否需要更改 uboot 环境?
以下是从 SD 卡引导的其他内容?
=>MMC partconf 0 1 1
=> MMC bootbus 0 2 0 0
#将引导模式更改为 eMMC 引导
在 U-boot 提示符下进行 eMMC 引导:
=> setenv mmcdev 0
=> setenv bootpart 0