团队
我们正在开发 J6 Entry EVM。
我们正在尝试使用 fastboot 在 eMMC 中刷写 MLO、而不会成功。 MLO 大小大于 eMMC xloader 分区。 对于我们未来的定制板、我们不希望使用 QSPI。 所有软件都将在 eMMC 中、因此从零开始没有 QSPI 或 SD 可用于闪存板、因此我们正在尝试在 EVM 中开发类似的闪存过程
EVM 设置
SYSCFG[0-7]:0000.00
步骤
- 插入 USB1的电源板
- 在主机上
- sudo ./usbboot -s u-boot-spl.bin
- sudo dfu-util -c 1 -i 0 -a 0 -D u-boot.img -R
- 在目标上、停止 u-boot 倒计数
- FASTBOOT 0
- 在主机上
- sudo fastboot OEM 格式
写入 GPT:成功!
请求 fdf2c740未在队列中排成 ep1in 批量队列
-
- sudo fastboot flash xloader MLO
警告:未知变量:分区类型:xloader
请求 fdf2c740未在队列中排成 ep1in 批量队列
请求 fdf2c740未在队列中排成 ep1in 批量队列
开始下载138932字节
请求 fdf2c740未在队列中排成 ep1in 批量队列
.request fdf2c740未在批量队列中进入 ep1in
已完成138932字节的下载
错误:分区太大:'xloader"
在 common/fb_MMC.c:81/write_raW_image ()
请求 fdf2c740未在队列中排成 ep1in 批量队列
深入挖掘
MMC 部件
MMC 设备的分区映射1 -- 分区类型:EFI
零件 开始 LBA 结束 LBA 名称 属性 类型 GUID 分区 GUID
1 0x00000100 0x000001ff "xloader"
attrs: 0x0000000000000000
类型: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
GUID: d117f98e-6f2c-d04b-a5b2-331a19f91cb2
2 0x00000200 0x000007ff" 引导加载程序"
attrs: 0x0000000000000000
类型: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
GUID: 25718777-d0AD-7443-9e60-02cb591c9737
MLO 大小为138932
uBoot/include/configs/dra7xx_evm.h
#define DFU_ALT_INFO_EMMC \
"dfu_alt_info_eMMC="\
"rawemmc raw 0 3751936;"\
"引导第1部分;"\
"rootfs 第1部分2;"\
"MLO fat 1;"\
"MLO.RAW 0x100 0x100;"\ <----
"u-boot.img.raw 0x300 0x400;"\ |
"SPL-OS-args.raw 0x80 0x80;"\ |
"SPL-OS-IMAGE.RAW 0x900 0x2000;"\
"SPL-OS-args fat 1;"\
"SPL-OS-image fat 1;"\ size 应该相同、不应该?
"u-boot.img fat 1;"\
"uEnv.txt fat 1\0"
#define DFU_ALT_INFO_QSPI \ |
"dfu_alt_info_qspi=""\ |
"MLO RAW 0x0 0x040000;"\ <---- +
"U-boot.img raw 0x040000 0x0100000;"\
"u-boot-spl-OS RAW 0x140000 0x080000;"\
"u-boot-env raw 0x1C0000 0x010000;"\
"U-boot-env.backup raw 0x1D0000 0x010000;"\
"内核原始0x1E0000 0x800000\0"
尺寸不匹配是 EVM 错误、或者您有任何原因吗?