【龙芯2K0300蜂鸟板试用】固件更新与测试
本文介绍了龙芯2K300蜂鸟开发板实现官方固件更新和固件测试的相关流程,包括 u-boot、rootfs、kernel 固件的安装,固件测试包括 SSH 远程登录、文件传输测试、python 打印测试等。
固件更新
包括 u-boot 、rootfs、kernel 更新三部分,更新流程适用于其他适配的系统固件,如 正点原子 的 2K0300 固件(用户手册 + 系统镜像)。
准备工作
需要容量大于 512MB 的 U 盘,使用 DiskGenius 软件格式化为 FAT32 格式;

或使用 Windows 自带的快速格式化工具,注意格式选择 FAT32 .
打开官方仓库说明文档页 docs 文档 ,获取官方最新更新动态

下载最新版 img 镜像文件和 uboot 固件:docs-2k0300 .

参考:龙芯玩机指南 . LoongsonLab .
官方仓库:open-loongarch: 2K0300、2K0500、2K1000LA、2K3000 等LoongArch 架构芯片的板卡BSP 资料 .
u-boot 更新
Type-C 数据线连接开发板和电脑

- 打开串口调试助手并连接串口,确保能够进入系统,测试系统状态是否正常。
- 在此基础上,进入串口输入窗口,按住 M 键的同时,短按板载 Reset 键重启系统,即可进入 uboot 模式。
- 准备 U 盘,格式化为
FAT32
,根目录新建 update
文件夹,将下载的系统固件放置该文件夹内,弹出 U 盘;
可能会遇到无法进入 uboot 模式的情况,

解决方案是先按住 M 键再按 RST



rootfs 更新
- 更新 rootfs,输入
bootmenu
进入boot配置界面,进入选项 Update rootfs
,并选择 USB 方式,回车确认;

Kernel 更新
- 更新 kernel,输入
bootmenu
进入boot配置界面,进入选项 Update kernel
,并选择 USB 方式,回车确认;

终端输入指令 reboot 重启系统,进入管理员账户

至此,完成固件更新操作。后面将介绍测试相关话题。
固件测试
SSH 登录
串口端输入 ifconfig
获取开发板 ip 地址,默认为 192.168.1.10

版本更新弥补了之前版本无法使用百兆网络进行 SSH 调试的不足,详见:SSH连接问题 .
输入指令 uname -a
查询内核版本信息

更新日期为 April 11, 2025 .
终端输入指令 python --version
查询 Python 版本,为 3.12
这次更新太给力啦~
文件传输
为了方便文件传输,使用 FileZilla 软件实现文件访问
- 新建站点 - 输入 ip 地址、用户名
root
、密码 123
- 协议设置为 SFTP (SSH) - 连接即可

可通过拖拽或 Ctrl + C 、Ctrl + V 实现文件的上传或下载以及移动等操作。
Python 库安装
龙芯架构的 Python 库支持与更新详见:loongson/pypi index .
结合板载资源以及原理图对于引脚复用的定义

实现 GPIO、IIC、CAN、SPI、ADC 等资源的操控,结合外部传感器,实现各种物联网应用。
通过系统更新后位于 /root/python_demo
的相关例程,调用 RPi.GPIO
即可实现对板载引脚和相关资源的调用。
比如:实现 Blink LED 效果
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
LED_PIN = 133
GPIO.setup(LED_PIN, GPIO.OUT)
try:
print("The LED blink program has started. Press Ctrl+C to stop.")
while True:
GPIO.output(LED_PIN, GPIO.HIGH)
print("LED is on")
time.sleep(1)
GPIO.output(LED_PIN, GPIO.LOW)
print("LED is off")
time.sleep(1)
except KeyboardInterrupt:
print("The program has been interrupted by the user.")
finally:
GPIO.cleanup()
print("GPIO resources have been released.")
保存代码并执行,连接 LED 至对应引脚,可观察到闪烁现象,同时串口打印 LED 亮灭状态。
测试
终端执行 touch hello.py
指令,新建 Python 文件,添加代码
代码
import time
def continuous_print():
try:
count = 1
while True:
print(f"[{count}] Hello World from Loongson 2K300!")
count += 1
time.sleep(1)
except KeyboardInterrupt:
print("\\\\nProgram terminated by Ctrl+C")
finally:
print("Program cleanup completed")
if __name__ == "__main__":
continuous_print()
保存代码,终端输入指令 python3 hello.py
执行程序。
效果
连续打印文本

总结
本文介绍了龙芯2K300蜂鸟开发板实现官方固件更新和固件测试的相关流程,包括 u-boot、rootfs、kernel 固件的安装,固件测试包括 SSH 远程登录、文件传输测试、python 打印测试等,为龙芯系列芯片的开发和应用设计提供了参考。