Skip to main content

通过 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 找到 FELOTG、FEL 和主机权限可用loader 哈希与板卡匹配
loader 启动并重新枚举 FESDRAM 初始化和 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。

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