跳到主要内容

通过 OTG 烧录主线系统

烧录过程会先让 T527 从 BootROM FEL 临时进入 FES,再写入 eMMC Boot0 与 User Area。FEL→FES 会使 USB 设备重新枚举,因此烧录工具必须使用物理位置跟踪同一块板卡。

连接电源、串口与 OTG

串口只连接 GND、板卡 TX 和板卡 RX,不连接 CH340 的 5 V。烧录前关闭其他可能占用目标 USB 设备的程序,并让板卡进入 FEL,主机应能识别 1f3a:efe8

确认 OpenixCLI 找到板卡

./openixcli-linux-x86_64 scan

从输出中记录:

Physical location: libusb:BUS:PORT

使用 Physical location,而不是 lsusbDevice NNN。FEL 和 FES 的设备编号可能不同,但 USB 物理端口保持不变。

使用 Release 文件烧录

在三个文件所在目录执行,把最后的设备位置替换为扫描结果:

./openixcli-linux-x86_64 --output jsonl raw \
avaota-a1-t527-fes-loader.img \
avaota-a1-mainline-v9-tm4-coldboot.img \
--mode command \
--emmc-boot0-from-image \
--device-location libusb:BUS:PORT

这里的第一个位置参数必须是 RAM-only loader,第二个位置参数必须是 805,306,368 字节的未压缩 raw。颠倒文件或把 .img.xz 直接作为 raw 都不会得到正确的 eMMC 内容。

在工程仓库中也可以让 scripts/flash.sh 完成哈希、USB 占用和设备数量检查:

export OPENIXCLI=/path/to/openixcli-linux-x86_64
export FES_LOADER=/path/to/avaota-a1-t527-fes-loader.img
export IMAGE=/path/to/avaota-a1-mainline-v9-tm4-coldboot.img
export IMAGE_SHA256=22d9775202898f55814bee156058d8d010c2461f67cb11e7dc35c8c8c609d5f2
./scripts/flash.sh

判断烧录停在哪个阶段

最后完成的阶段可以确认下一项检查
scan 找到 FELOTG、FEL 和主机权限可用loader 哈希与板卡匹配
loader 启动并重新枚举 FESDRAM 初始化和 FES 服务可用eMMC 类型、容量和 Boot0 状态
Boot0 安装完成主线 SPL 已写入启动分区User Area 整盘写入
raw 写入完成MBR、FAT、ext4 已发送到 eMMC整盘读回验证
Raw disk image flashed successfullyerrorCode=0写入与读回验证通过完全断电冷启动

FEL→FES 失败后不要在原状态上自动重试。重新让板卡进入 FEL,再运行 scan 并发起一次新的烧录。烧录成功也只证明 eMMC 内容与 raw 一致,不能证明 BootROM 在冷启动条件下能够读取 SPL。

下一节通过完全断电上电检查实际启动链。