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 卡启动正常工作?
谢谢
所以每次我尝试让 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。
~朱迪斯
尊敬的 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