FEL 下载模式与工具
F101 的 BROM 里有一个 USB 下载模式,叫 FEL。在 FEL 下,主机可以通过 USB 读写 SPI NOR、把程序载入内存并运行。本板的所有下载方式(xfel、rfel、从 FEL 启动 UF2 加载器)都基于它。
进入 FEL
Section titled “进入 FEL”- 按住板上的 FEL 键。
- 接上 USB 数据线(或在已供电时复位)。
- 松开 FEL 键。
用工具确认:
xfel version应看到类似 AWUSBFEX ID=0x00193700(F101) 的输出。USB 设备的 VID/PID 是 1f3a:efe8。
安装 xfel
Section titled “安装 xfel”xfel 仓库:https://github.com/xboot/xfel。请使用 v1.4.0 或更新版本——v1.4.0 增加了 F101 的 xfel extra exec riscv64 命令。
Windows
Section titled “Windows”从仓库 v1.4.0 发布页下载 xfel-windows-v1.4.0.7z,整个解压,把含 xfel.exe 的目录加入 PATH,重新打开 PowerShell。随附的 DLL 必须和 xfel.exe 放在一起。不设 PATH 时,可以在工具目录里用 ./xfel.exe 代替 xfel。
Linux(以 Debian / Ubuntu 为例)
Section titled “Linux(以 Debian / Ubuntu 为例)”sudo apt updatesudo apt install git build-essential pkg-config libusb-1.0-0-devgit clone https://github.com/xboot/xfel.gitcd xfelmakesudo make installsudo udevadm control --reload-rules重新插拔 FEL 设备,让安装的 udev 规则生效。
xcode-select --installbrew install libusb pkg-configgit clone https://github.com/xboot/xfel.gitcd xfelmakesudo install -m 755 xfel /usr/local/bin/xfel如果 /usr/local/bin 不存在,先执行 sudo mkdir -p /usr/local/bin,并确保它在 PATH 里。macOS 不使用 udev 规则。
安装 rfel
Section titled “安装 rfel”rfel 是 rustsbi/allwinner-hal 的一部分,用 Rust 写成,三个平台命令相同。需要 Rust 和 Cargo 以及 Git。Windows 还需要 Visual Studio Build Tools 的 C++ 工具链;Linux 需要 C 编译器和链接器(Debian / Ubuntu 上是 build-essential);macOS 需要 Xcode Command Line Tools。
git clone https://github.com/rustsbi/allwinner-hal.gitcd allwinner-halrustup update stablecargo +stable install --path rfelrfel --help源码需要包含提交 11544b3(feat(rfel): support F101 chip)或更新的 F101 支持。旧的检出请先更新再重新安装。Cargo 通常把可执行文件装到 Windows 的 %USERPROFILE%\.cargo\bin 或 Linux / macOS 的 ~/.cargo/bin,确认它在 PATH 里。
rfel version 可查询已连接设备的芯片版本。
USB 驱动与权限
Section titled “USB 驱动与权限”Windows
Section titled “Windows”如果工具打不开 FEL 设备,用 Zadig 为 FEL USB 设备(VID 1f3a,PID efe8) 安装 WinUSB 驱动。选设备前先核对 VID/PID,不要改动你的 USB 串口适配器的驱动。

rfel 报告 USB 权限不足时,可以用绝对路径加管理员权限运行,或配置 udev 规则。在使用 systemd-logind 的桌面系统上,创建 /etc/udev/rules.d/70-allwinner-fel.rules:
SUBSYSTEM=="usb", ATTR{idVendor}=="1f3a", ATTR{idProduct}=="efe8", TAG+="uaccess"然后执行 sudo udevadm control --reload-rules 并重新插拔设备。没有桌面会话的系统请按本地用户组配置 USB 权限。
不需要 WinUSB 或 udev 规则。
| 命令 | 作用 |
|---|---|
xfel version | 查询芯片,确认 FEL 连接 |
xfel spinor | 识别 SPI NOR 及容量 |
xfel spinor read <addr> <len> <file> | 读 Flash |
xfel spinor write <addr> <file> | 写 Flash(自动擦除所需扇区) |
xfel reset | 复位板子 |
rfel 的子命令与之同名,把 xfel 换成 rfel 即可。
| 提示 | 原因与处理 |
|---|---|
unsupported chip | 工具版本不支持 F101,升级 xfel / rfel |
| 找不到设备 | 没进入 FEL;线缆是否带数据;Windows 是否装了 WinUSB |
usb bulk send/recv error | 如果发生在 exec 之后:CPU 已离开 BROM,程序在跑,属正常现象 |
| 权限不足(Linux) | 配置 udev 规则,见上 |