一、VisionFive2开发板初见
赛昉科技「昉・星光 VisionFive2」开发板是一款功能强大且全面的嵌入式系统开发工具,为开发者提供了广泛而灵活的创新空间。这款开发板是由赛昉科技推出的,它以其出色的硬件设计和可编程逻辑器件脱颖而出。
VisionFive2开发板采用高性能处理器,配备充足的内存和存储空间,使其能够处理复杂的任务和大量的数据。这使开发者能够构建功能强大的应用程序和系统,并实现高效的数据处理和计算能力。无论是在物联网、人工智能还是机器学习等领域,该开发板都能发挥出色的性能。
该开发板还具备丰富的外设接口,包括数字输入输出、模拟输入输出、通信接口等,方便开发者与其他设备进行连接和数据交互。这意味着开发者可以轻松集成各种传感器、执行器和外部设备,并与它们进行高效的通信和控制。这为开发各种智能系统和物联网设备提供了便利。
开发板实物照片
二、固件升级
为什么要升级固件
升级U-Boot固件的必要性在于提供更好的系统性能、功能增强和安全性改进。以下是为什么升级 U-Boot 固件是必要的原因:
添加新功能:板载的老固件不支持nvme硬盘扫描功能,所以不支持nvme启动。
适配新版本的系统:老固件对新版本系统的支持不大好,尤其是需要使用EMMC模块、以及NVME固态盘的用户,老固件无法正常启动。
完善启动顺序:老固件不管板子插了什么可启动介质,只管按固件配置启动。新版本按照性能排序,优先从性能最强的NVME固态盘,再到可能需要启动的SD卡(修复系统或者体验新系统),最后是EMMC模组的顺序进行启动。
固件升级失败会不会永久损坏开发板
U-Boot固件存储在板载的SPI nor flash里,如果误操作导致Flash被清除,或者U-Boot无法启动,可以使用UART模式恢复Flash里的系统固件。教程如下:
https://doc.rvspace.org/VisionFive2/SDK_Quick_Start_Guide/VisionFive2_SDK_QSG/recovering_bootloader%20-%20vf2.html
升级步骤
2.1 下载SD卡启动镜像并烧录到TF卡
从官方的github链接下载sdcard.img
https://github.com/starfive-tech/VisionFive2/releases/tag/VF2_v3.4.5
使用balenaEtcher烧录固件,点点点就行了,4G以上的SD卡就可以,很快就烧录完毕
2.2 下载升级所需固件文件
在同一个链接下载u-boot-spl.bin.normal.out和visionfive2_fw_payload.img,把这两个文件保存到电脑上
2.3 连接硬件并启动
把网线插到随便一个网口上,串口按下图的接法,连接好串口
然后插电启动设备
然后使用root用户登录就可以了,密码是starfive
2.4 查看IP并上传固件文件
使用以下命令 ip addr
获取局域网地址,例如inet 192.168.50.18这个就是设备的IP地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 6c:cf:39:00:52:a2 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 6c:cf:39:00:52:a3 brd ff:ff:ff:ff:ff:ff
inet 192.168.50.18/24 brd 192.168.50.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::6ecf:39ff:fe00:52a3/64 scope link
valid_lft forever preferred_lft forever
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
获取到地址后,使用scp命令上传固件文件到开发板上
使用以下命令
scp d:\u-boot-spl.bin.normal.out root@192.168.50.18:/tmp
scp d:\visionfive2_fw_payload.img root@192.168.50.18:/tmp
2.5 烧录固件文件到板卡SPI Flash上
执行以下命令,查看MTD分区:
cat /proc/mtd
示例输出:
可以看到QSPI Flash里的数据分区:
dev: size erasesize name
mtd0: 00020000 00001000 "spl"
mtd1: 00300000 00001000 "uboot"
mtd2: 00100000 00001000 "data"
确定spl和uboot的分区名称,不要搞错了
示例命令和输出:
Erasing blocks: 32/32 (100%)
Writing data: 124k/124k (100%)
Verifying data: 124k/124k (100%)
Erasing blocks: 682/682 (100%)
Writing data: 2727k/2727k (100%)
Verifying data: 2727k/2727k (100%)
三、总结
VisionFive2开发板的配套逐步完善,为开发者提供了更加便捷的开发环境。从硬件支持到软件工具,不断丰富的资源使得项目开发更高效。与丰富的外设、通信接口相结合,使得开发者能够更专注于创新。新的文档、示例代码以及社区支持也在不断增强,使得开发者能够快速上手、解决问题。