Banana Pi BPI-F3 采用 K1 处理器核心、SPM8821 PMIC 与外置 DC-DC 电源方案,并配备 LPDDR4X 内存和 eMMC 存储。开发板集成 PCIe 2.0 ×2 M.2 Key M、PCIe 2.0 ×1 Mini PCIe、4 个 USB 3.0 Type-A、WiFi/蓝牙、TF 卡、HDMI TX、MIPI DSI、MIPI CSI、Type-C 和 2 个 RJ45 等接口,构成稳定且易于扩展的解决方案。
| 更多信息:Banana Pi BPI-F3 主页 |
准备一根 TTL 串口线、一个 12 V PD 电源、一根 USB 数据线,以及一张至少 8 GB 的 TF 卡。
请 下载 待烧录的 SD 卡镜像和 eMMC 镜像。
请注意:以“bianbu-k1-xxx.img.zip”结尾的是 SD 卡镜像,以“bianbu-k1-xxx.zip”结尾的是 eMMC 镜像。烧录时请勿选错。
| Bianbu 系统请选择以“bianbu-k1-xxx.img.zip”结尾的镜像,请勿选错。 |
balenaEtcher 是 Balena 开发的开源图形化烧录工具,可将操作系统镜像写入 SD 卡或 USB 存储设备。
单击“Flash from file”选择镜像。
单击“Select target”选择目标设备。
单击“Flash!”开始烧录。
| 首次启动时请连接 HDMI 显示器,然后创建用户账号。 |
| Bianbu 系统请选择以“bianbu-k1-xxx.zip”结尾的镜像,请勿选错。 |
安装驱动软件
在 Windows 上双击 titantools_for_windows-latest 安装。在 Linux 上,为 titantools_for_Linux-latest 添加可执行权限后即可运行,无须安装。
Windows 版本默认安装到计算机 C 盘,后续使用也需要一定空间。请确保剩余可用空间大于 10 GB(Linux 的 Home 分区可用空间也须大于 10 GB)。
允许来自未知发布者的此应用对您的设备进行更改。然后选择始终安装该驱动软件。
如果驱动安装成功,会提示 USB 驱动安装成功。
使用图形化软件将镜像烧录到 eMMC
单击 Single Machine Burn(如需同时烧录多台设备,请单击 Multiple Machine Burn)。
使设备进入烧录模式:
方法一:
设备处于断电状态时,按住 DOWNLOAD (FDL) 按钮,插入 Type-C 线,然后松开按钮。(如果担心 USB 供电不足,可先接入电源,再松开按钮并连接 USB 线。)
方法二:
设备已经上电时,按住 DOWNLOAD (FDL) 按钮,再按 Reset 按钮,然后插入 USB 线。
| 通过 USB Hub 连接时,可能出现“Fastboot 设备初始化失败”。 |
软件成功识别设备后会显示“VID:PID=”。如果连接了多台设备,请选择需要烧录的设备。
选择 flash file,软件会自动解压,请耐心等待。
单击 start flashing 开始烧录。
烧录完成,重新上电。
使用命令行工具将镜像烧录到 eMMC
另一种方法是使用 titanflasher 工具:将 flashserver.exe 放到待烧录 eMMC 镜像所在的目录。
在您的计算机上运行它,如下图所示:
系统识别到设备(VID:=PID=XXX)后,选择“1”开始刷机。
| Armbian 镜像目前仅支持从 SD 卡启动。 |
| 除了 titantools,也可使用 dd 命令将镜像烧录到 eMMC。 |
下面以 bianbu-23.10-nas-k1-v1.0rc1-release-20240429192450.img 为例。 将“bianbu-k1-xxx.img.zip”解压到 U 盘,再从“bianbu-k1-xxx.zip”中复制“fsbl.bin”和“bootinfo_emmc.bin”到 U 盘。
先将已烧录镜像的 SD 卡插入 F3,然后上电启动。
将准备好的 U 盘插入 F3。
启动后使用“lsblk”命令查看。
pi@k1:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 14.8G 0 disk
└─sda1 8:1 1 14.8G 0 part
mmcblk0 179:8 0 14.8G 0 disk
├─mmcblk0p1 179:9 0 256K 0 part
├─mmcblk0p2 179:10 0 128K 0 part
├─mmcblk0p3 179:11 0 384K 0 part
├─mmcblk0p4 179:12 0 2M 0 part
├─mmcblk0p5 179:13 0 256M 0 part
└─mmcblk0p6 179:14 0 8G 0 part /
mmcblk2 179:8 0 14.6G 0 disk
“sda1”表示 U 盘,“mmcblk0”表示 SD 卡,“mmcblk2”表示 eMMC。
先将 U 盘挂载到 mnt。
sudo mount /dev/sda1 /mnt
cd /mnt
然后使用 dd 命令将镜像烧录到 eMMC。
sudo dd if=bianbu-23.10-nas-k1-v1.0rc1-release-20240429192450.img of=/dev/mmcblk2 bs=10M
| 如果执行 lsblk 后已经能看到 BOOT,可直接跳到步骤 9。 |
接下来更新 eMMC 的 boot0 分区。部分镜像默认隐藏启动分区,因此需要修改 cmdline。先挂载 bootfs:
sudo mount /dev/mmcblk0p5 /boot
sudo nano /boot/env_k1-x.txt
找到 Commonargs,并在末尾添加“recovery=1”。
commonargs=setenv bootargs earlycon=${earlycon} earlyprintk console=tty1 console=${console} ${loglevel} clk_ignore_unused rdinit=${init} recovery=1
保存并重新启动。
sudo reboot
重启完成后,执行 lsblk 即可看到 BOOT 分区。
pi@k1:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 14.8G 0 disk
└─sda1 8:1 1 14.8G 0 part
mmcblk0 179:0 0 14.8G 0 disk
├─mmcblk0p1 179:1 0 256K 0 part
├─mmcblk0p2 179:2 0 128K 0 part
├─mmcblk0p3 179:3 0 384K 0 part
├─mmcblk0p4 179:4 0 2M 0 part
├─mmcblk0p5 179:5 0 256M 0 part
└─mmcblk0p6 179:6 0 8G 0 part /
mmcblk2 179:8 0 14.6G 0 disk
├─mmcblk2p1 179:9 0 256K 0 part
├─mmcblk2p2 179:10 0 64K 0 part
├─mmcblk2p3 179:11 0 1M 0 part
├─mmcblk2p4 179:12 0 2M 0 part
├─mmcblk2p5 179:13 0 256M 0 part
└─mmcblk2p6 179:14 0 2G 0 part
mmcblk2boot0 179:16 0 4M 1 disk
mmcblk2boot1 179:24 0 4M 1 disk
挂载 U 盘
sudo mount /dev/sda1 /mnt
cd /mnt
执行以下命令:
echo 0 | sudo tee /sys/block/mmcblk2boot0/force_ro
sudo dd if=bootinfo_emmc.bin of=/dev/mmcblk2boot0
sudo dd if=FSBL.bin of=/dev/mmcblk2boot0 seek=512 bs=1
sync
等待烧录完成,断开电源并取出 SD 卡和 U 盘。再次上电后即可从 eMMC 启动。
| linux-1.0.35_beta 版本目前存在问题,请优先使用 Windows 版工具。 |
打开 Titan Tools,单击量产工具。
选择写号工具。如果软件中没有此功能,请先更新软件。
选择 Configure custom fields,将 ddr_cs_num 从 fixed 改为 scan,单击 Save 后返回。
(如果未看到 ddr_cs_num 选项,请先单击 Restore Default。)
选择 ddr_cs_num,将 2 改为 1。
按住 FDL 按钮,同时将 Type-C 线连接到开发板。开发板被识别后,单击 Start writing。
单击“Start writing number”后,软件可能会要求再次输入;重新输入 1 并按 Enter,等待写入成功。
您有两种设置 WiFi 的方法
通过图形界面配置 WiFi
使用命令设置 WiFi
sudo nmcli dev
sudo nmcli r wifi on
sudo nmcli dev wifi
sudo nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0
可通过两种方式配置蓝牙
通过图形界面配置蓝牙
使用命令配置蓝牙
hciconfig
sudo hciconfig hci0 up
hciconfig hci0 noauth
hcitool scan
sudo rfcomm bind /dev/rfcomm0 xx:xx:xx:xx
sudo cat >/dev/rfcomm0
该接口可连接符合 NVMe 协议的 SSD,也可使用其他兼容的 Key M 转接板。
下面以 Key M 转 SATA 转接板为例。
将设备连接到 BPI-F3 开发板。
查询相应存储设备。
设备被正确识别后即可使用。
下面以 EC25-E 模块为例。
将 SIM 卡和 EC25-E 模块安装到 BPI-F3,然后上电启动。
使用命令查询模块状态。
lsusb
使用 AT 命令查询模块与 SIM 卡状态。
AT+CGMM //Module status
AT+CPIN? //SIM card status
使用 nmcli 启用模块拨号功能。
root@k1:~# nmcli connection delete wwan
成功删除连接 "wwan" (cf521d55-c9b0-48d3-96b7-d544cee4b054)。
root@k1:~# nmcli connection add type gsm ifname "*" con-name wwan apn cmnet
连接 "wwan" (cc1953ac-27d9-4bed-98c7-2256c6c6135a) 已成功添加。
root@k1:~#
root@k1:~#
root@k1:~#
root@k1:~# nmcli connection up wwan
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
可以看到 wwan0 接口已分配 IP 地址。
使用 ping 命令测试外网,可确认系统已能正常访问互联网。
执行以下三个步骤即可构建 Armbian 镜像。
git clone [email protected]:BPI-SINOVOIP/armbian-build.git -b v24.04.30 v24.04.30
cd v24.04.30
./compile.sh build BOARD=bananapif3 BRANCH=legacy BUILD_DESKTOP=yes BUILD_MINIMAL=no DESKTOP_APPGROUPS_SELECTED= DESKTOP_ENVIRONMENT=gnome DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base KERNEL_CONFIGURE=no RELEASE=mantic
| 系统上电后,RTC 会自动同步系统时间。可通过命令分别查询系统时间和 RTC 时间。这里系统时间采用 CST,RTC 显示 UTC,两者相差 8 小时属于正常现象。 |
将电池连接到 F3 的 RTC 接口,再为 BPI-F3 接通电源并启动设备。连接网络以获取当前时间。
root@k1:~# date
2025年 10月 11日 星期六 14:25:47 CST
root@k1:~# cat /sys/class/rtc/rtc0/{date,time}
2025-10-11
06:25:59
关闭电源并断开网线,等待片刻后再次上电。此时应能确认 RTC 时间继续正常运行;由于网线已断开,系统时间无法通过网络同步。
root@k1:~# date
2025年 10月 11日 星期六 14:02:48 CST
root@k1:~# cat /sys/class/rtc/rtc0/{date,time}
2025-10-11
06:38:37
echo 0 > /sys/class/pwm/pwmchip1/export
echo 100000 > /sys/class/pwm/pwmchip1/pwm0/period
echo 50000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle
echo normal > /sys/class/pwm/pwmchip1/pwm0/polarity
echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable