VisionFive2开发板开箱体验和固件升级

分享作者:user201910137473
作者昵称:iCEasy商城-小易
评测品牌:赛昉科技
评测型号:VF202040-A0
申请理由(产品应用):iceasy
发布时间:2024-07-29 17:01:24
0
概要
简介:VisionFive2开发板开箱和固件升级
开源口碑分享内容


一、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地址

# ip addr
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的分区名称,不要搞错了

示例命令和输出:

# flashcp -v /tmp/u-boot-spl.bin.normal.out /dev/mtd0
Erasing blocks: 32/32 (100%)
Writing data: 124k/124k (100%)
Verifying data: 124k/124k (100%)

# flashcp -v /tmp/visionfive2_fw_payload.img  /dev/mtd1
Erasing blocks: 682/682 (100%)
Writing data: 2727k/2727k (100%)
Verifying data: 2727k/2727k (100%)

三、总结

VisionFive2开发板的配套逐步完善,为开发者提供了更加便捷的开发环境。从硬件支持到软件工具,不断丰富的资源使得项目开发更高效。与丰富的外设、通信接口相结合,使得开发者能够更专注于创新。新的文档、示例代码以及社区支持也在不断增强,使得开发者能够快速上手、解决问题。


全部评论
暂无评论
0/144