请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: SK-AM62P-LP
尊敬的团队:
我们使用以下设置:
- 适用于 AM62Px 的 Processor SDK Android:11_00_01
- 安卓版: 16
- 内核版本:6.12
要求
我们需要增加 引导加载程序分区大小 、因为我们的 DM 内核应用程序大小超过 7MB、因此引导加载程序总大小要求为~8MB+。 链接
更改已完成
我们在中修改了 GPT 布局:include/env/ti/android.env
diff --git a/include/env/ti/android.env b/include/env/ti/android.env
index 7732213e..1c9bd64d 100644
--- a/include/env/ti/android.env
+++ b/include/env/ti/android.env
@@ -1,8 +1,8 @@
/* Android partitions
* += is needed because \n is converted by space in .env files */
-partitions=name=bootloader,start=5M,size=8M,uuid=${uuid_gpt_bootloader};
+partitions=name=bootloader,start=5M,size=16M,uuid=${uuid_gpt_bootloader};
partitions+=name=tiboot3,start=4M,size=1M,uuid=${uuid_gpt_tiboot3};
-partitions+=name=misc,start=13824K,size=512K,uuid=${uuid_gpt_misc};
+partitions+=name=misc,start=21M,size=512K,uuid=${uuid_gpt_misc};
partitions+=name=frp,size=512K,uuid=${uuid_gpt_frp};
partitions+=name=boot_a,size=40M,uuid=${uuid_gpt_boot_a};
partitions+=name=boot_b,size=40M,uuid=${uuid_gpt_boot_b};
diff --git a/include/env/ti/k3_dfu.env b/include/env/ti/k3_dfu.env
问题 1: DFU (snagrecover) 故障
运行时:
snagrecover -s am625 -f ./am62px-sk-evm-hsfs.yaml
我们在 tispl 下载过程中遇到以下错误:
snagrecover -s am625 -f ./am62px-sk-evm-hsfs.yaml
2026-05-08 19:36:36,811 [INFO] Starting recovery of am625 board
2026-05-08 19:36:36,814 [INFO] Installing firmware tiboot3
2026-05-08 19:36:36,814 [INFO] Searching for partition id...
2026-05-08 19:36:36,815 [INFO] Found DFU Functional descriptor: wTransferSize = 512
2026-05-08 19:36:36,815 [INFO] Downloading file...
2026-05-08 19:36:37,241 [INFO] Could not read status after end of manifest phase
2026-05-08 19:36:37,241 [INFO] Done
2026-05-08 19:36:37,241 [INFO] Done installing firmware tiboot3
2026-05-08 19:36:38,255 [INFO] Installing firmware tispl
2026-05-08 19:36:38,255 [INFO] Searching for partition id...
2026-05-08 19:36:38,256 [INFO] Found DFU Functional descriptor: wTransferSize = 4096
2026-05-08 19:36:38,256 [INFO] Downloading file...
Traceback (most recent call last):
File "/home/user/.local/bin/snagrecover", line 8, in <module>
sys.exit(cli())
File "/home/user/.local/lib/python3.10/site-packages/snagrecover/cli.py", line 185, in cli
recovery()
File "/home/user/.local/lib/python3.10/site-packages/snagrecover/recoveries/am6x.py", line 33, in main
run_firmware(dev, "tispl")
File "/home/user/.local/lib/python3.10/site-packages/snagrecover/firmware/firmware.py", line 204, in run_firmware
am6x_run(port, fw_name, fw_blob)
File "/home/user/.local/lib/python3.10/site-packages/snagrecover/firmware/firmware.py", line 86, in am6x_run
dfu_cmd.download_and_run(fw_blob, partid, offset=0, size=len(fw_blob))
File "/home/user/.local/lib/python3.10/site-packages/snagrecover/protocols/dfu.py", line 158, in download_and_run
raise ValueError("DFU error code reported by device!")
ValueError: DFU error code reported by device!
权变措施尝试
diff --git a/include/env/ti/k3_dfu.env b/include/env/ti/k3_dfu.env
index d89f8863..450d5666 100644
--- a/include/env/ti/k3_dfu.env
+++ b/include/env/ti/k3_dfu.env
@@ -25,7 +25,7 @@ dfu_alt_info_ospi=
rootfs raw 0x800000 0x3800000
dfu_alt_info_ram=
- tispl.bin ram 0x80080000 0x200000;
+ tispl.bin ram 0x80080000 0x800000;
u-boot.img ram 0x81000000 0x400000
dfu_alt_info_ospi_nand=
diff --git a/include/env/ti/k3_dfu_combined.env b/include/env/ti/k3_dfu_combined.env
index ce3a1203..7182b4a5 100644
--- a/include/env/ti/k3_dfu_combined.env
+++ b/include/env/ti/k3_dfu_combined.env
@@ -23,5 +23,5 @@ dfu_alt_info_ospi=
rootfs raw 0x800000 0x3800000
dfu_alt_info_ram=
- tispl.bin ram 0x80080000 0x200000;
+ tispl.bin ram 0x80080000 0x800000;
u-boot.img ram 0x81000000 0x400000
通过此更改:
- Sngrecover 成功
- DM 内核显示应用程序在 HDMI 上成功运行
- 引导加载程序大小增加到 16MB
问题 2: eMMC 引导失败
从 DFU→eMMC 切换引导模式后、电路板无法引导:
U-Boot SPL 2025.01-gef2eb76b6504-dirty (May 08 2026 - 19:13:06 +0530)
SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.5--v11.01.05d (Fancy Rat)')
Set clock rates for '/a53@0', CPU: 1250MHz at Speed Grade 'U'
SPL initial stack usage: 17104 bytes
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
问题
- 将引导加载程序分区增加到 16MB 是否 足够、或者是否有额外的限制(例如,tiboot3/tispl 布局对齐、ROM 预期)?
- 在修改 GPT 时、我们是否需要更新任何其他配置(例如,binman 布局、tiboot3 偏移、SYSFW 预期)?
- 此故障可能是由于以下原因造成的:
- 调整大小后的分区偏移量不正确?
- DFU RAM 布局与 eMMC 布局不匹配?
- 引导 ROM/SPL 限制?
- 在 AM62Px 上支持大于 16MB 的引导加载程序的建议方法是什么?
- 是否有任何关于处理内部大型 DM 固件的官方指导
tispl.bin?
请提供任何指导。