烧录到板载 NAND¶
开发板使用 W25N01GVZEIG 128MB SPI NAND。烧录会清除 NAND 中的原有系统。
准备烧录文件¶
保留资料包目录结构,并进入 NAND 镜像目录:
cd /path/to/新网盘资料/04-系统镜像/NAND
该目录应包含:
04-系统镜像/NAND/
├── u-boot-sunxi-with-spl.bin
├── u-boot.img
├── sun8i-v3s-strongpi-spinand.dtb
├── zImage
├── ubi.img
├── flash_nand_linux.sh
├── flash_nand_windows.bat
└── xfel.exe
Ubuntu 先安装运行库,并将资料包中的 Linux 工具和 udev 规则安装到系统:
sudo apt update
sudo apt install -y libusb-1.0-0
sudo install -m 0755 ../../05-烧录工具/Linux/xfel /usr/local/bin/xfel
sudo install -m 0644 ../../05-烧录工具/Linux/99-xfel.rules \
/etc/udev/rules.d/99-xfel.rules
sudo udevadm control --reload-rules
重新插拔 OTG 数据线后确认工具可执行:
xfel version
开发板未进入 FEL 模式时显示 No FEL device found 属于正常现象。
Windows 在 04-系统镜像/NAND 目录打开命令提示符,执行:
xfel.exe version
首次使用时如无法识别 FEL 设备,按 05-烧录工具/Windows/README.md 使用 Zadig 安装驱动。
进入 FEL 模式¶
- 将数据线接到开发板的
OTGType-C 接口。 - 按住
FEL不放。 - 按下并松开
RESET。 - 等待 2 到 3 秒。
- 松开
FEL。
再次执行:
xfel version
命令返回 V3S 芯片信息后再开始写入。
Windows 使用 xfel.exe version 检查,后续手工命令也将开头的 xfel 替换为 xfel.exe。
手工烧录¶
先擦除整片 NAND:
xfel spinand erase 0 0x8000000
依次写入 SPL、U-Boot、设备树、内核和根文件系统:
xfel spinand splwrite 1024 0 u-boot-sunxi-with-spl.bin
xfel spinand write 0x20000 u-boot.img
xfel spinand write 0x100000 sun8i-v3s-strongpi-spinand.dtb
xfel spinand write 0x120000 zImage
xfel spinand write 0x720000 ubi.img
每条命令成功结束后再执行下一条。不要更改偏移,也不要混用 NOR 设备树或 NOR 根文件系统。
辅助脚本¶
确认已经理解手工写入顺序后,可使用同目录的辅助脚本:
bash flash_nand_linux.sh
Windows 在命令提示符中执行:
flash_nand_windows.bat
脚本执行的仍是上面列出的擦除和写入命令,并会在擦除前要求确认。
重启验证¶
烧录完成后断开 OTG 烧录线,保留 DEBUG 串口线,按一下 RESET。串口应显示系统从 SPI NAND 加载并挂载 UBIFS 根文件系统。