通过 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,而不是 lsusb 的 Device 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 找到 FEL | OTG、FEL 和主机权限可用 | loader 哈希与板卡匹配 |
| loader 启动并重新枚举 FES | DRAM 初始化和 FES 服务可用 | eMMC 类型、容量和 Boot0 状态 |
| Boot0 安装完成 | 主线 SPL 已写入启动分区 | User Area 整盘写入 |
| raw 写入完成 | MBR、FAT、ext4 已发送到 eMMC | 整盘读回验证 |
Raw disk image flashed successfully、errorCode=0 | 写入与读回验证通过 | 完全断电冷启动 |
FEL→FES 失败后不要在原状态上自动重试。重新让板卡进入 FEL,再运行 scan 并发起一次新的烧录。烧录成功也只证明 eMMC 内容与 raw 一致,不能证明 BootROM 在冷启动条件下能够读取 SPL。
下一节通过完全断电上电检查实际启动链。