VisionFive 2是全球首款集成3D GPU的高性能量产RISC-V 单板计算机 。与上一代相比,VisionFive 2全面升级,在处理器工作频率、多媒体处理能力、可扩展性等方面都有显着提升。优越的性能和合理的价格使VisionFive 2成为有史以来性价比最高的RISC-V开发板。
关于这块板卡的评测体验,小编整理出来给大家进行参考阅读~
1.简单开箱和Debian新手指南
感谢电子发烧友平台组织本次试用活动,感谢赛昉科技提供的VisionFive2开发板。
本文首先放两张开箱图,然后分别介绍Debian系统系统安装和调整、软件源更新、常用软件安装,添加用户以及SSH登录。其中,系统安装和调整部分,包括串口登录、查看硬件和系统信息、扩展分区和文件系统、联网查看IP地址、设置时区和时间。软件源更新部分,包括apt update报错ESPKEYSIG的解决、更换国内软件源、找到最快的软件源。常用软件包安装部分,包括温度监控、图形化性能监控、常用开发工具 软件的安装。添加用户和SSH登录部分,包括添加用户、添加sudo权限、允许root用户通过SSH登录。
一、简单开箱
1.1 包装和外观
包装盒外观挺好看:
打开包装盒,里面看起来也很精致:
1.2 硬件简介
开发板核心元器件:
CPU:惊鸿7110 RISC-V 四核64位RV64GC,2 MB二级缓存,最高频率1.5 GHz
GPU:Imagination IMG BXE-4-32 MC1,最高频率 600MHz
RAM:4GB,另外还有2GB和8GB版本
存储:16MB SPI Flash,用于存储固件;另外还有Micro SD卡槽和eMMC插座;
2.使用nginx、ffmpeg和VLC
搭建简单视频直播系统
本文将介绍——如何在VisonFive2开发板上使用nginx和http-flv模块实现视频流转发、如何使用ffmpeg推流,以及如何在PC上使用VLC播放器查看视频流的画面。本文首先介绍如何通过源码编译并安装nginx和http-flv模块,然后介绍如何使用ffmpeg推流,最后介绍如何在PC上使用VLC播放器查看视频流中的画面。在本文介绍的实验中,nginx及http-flv模块作为视频流服务器,ffmpeg作为视频流推送端,VLC作为视频流播放端,三者形成了一个简单的视频直播系统。
一、准备工作
1.1 硬件准备
开始本文的实验之前,需要准备的硬件有:
VisionFive2开发板
USB摄像头
路由器
PC
网线
1.2 软件准备
PC上准备好VLC播放器,用于播放视频流,可以从VLC官网下载:官方下载:VLC media player,最棒的开源播放器 - VideoLAN
另外,需要在VisionFive2开发板上准备一些软件:
编译工具链,安装命令:sudo apt install build-essential g++ git make
ffmpeg命令行工具,安装命令:sudo apt install ffmpeg
nginx依赖openssl库,安装命令:sudo apt install libssl-dev
开放板上的其他软件,可以用命令行安装。
......
结果演示:
3.在 VisionFive2 上安装
ROS2 humble(1)
ROS(Robot Operating System)是一种用于编写机器人软件的灵活框架。它是一个工具(tools)、库(libraries)和约定(conventions)的集合,旨在简化在各种机器人平台上创建复杂而健壮的机器人行为的任务。
ROS2 humble 是最新的 LTS 版本,官方发布在 Ubuntu 22.04 上,目前 openEuler ROS sig 已经将 ROS2 humble 带到 openEuler 22.03 LTS 上,并进一步尝试了对于 RISC-V 架构的支持,目前在 RISC-V 可以安装的包有 900+ 个,详细列表请查看附件中的 packages.list.
现在在 openEuler RISC-V 2203 上已经可以使用 dnf 来安装 ros 相关软件包。
一、系统准备
目前 openEuler RISC-V 仅在 2203 版本提供了 ROS2 humble 的支持,可以参考以下文章在 VisonFive2 上安装 openEuler RISC-V 2203:
在 VisionFive2上安装 openEuler RISC-V 2203 操作系统
在 VisionFive2 上如何更快的向 nvme 硬盘安装操作系统
从 nvme 磁盘启动 VisionFive2 并对磁盘分区扩容
二、安装
修改软件源,复制 ROS.repo (见附件))到 /etc/yum.repos.d/ROS.repo,或者 执行以下命令:
bash -c 'cat << EOF > /etc/yum.repos.d/ROS.repo [openEulerROS-humble] name=openEulerROS-humble baseurl=http://123.60.74.95:3389/home:/Z572:/ros/openEuler_22.03_22.03/ enabled=1 gpgcheck=0 EOF'
(左右移动查看全部内容)
手动安装尚未推送到源里的依赖:
dnf install -y http://123.60.74.95:3389/openEuler:/22.03:/Epol/22.03/riscv64/glog-0.3.5-1.oe2203.riscv64.rpm http://123.60.74.95:3389/openEuler:/22.03:/Epol/22.03/riscv64/glog-devel-0.3.5-1.oe2203.riscv64.rpm http://123.60.74.95:3389/openEuler:/22.03/22.03/riscv64/suitesparse-5.10.1-2.oe2203.riscv64.rpm http://123.60.74.95:3389/openEuler:/22.03/22.03/riscv64/suitesparse-devel-5.10.1-2.oe2203.riscv64.rpm
(左右移动查看全部内容)
在 VisionFive2 上体验 ROS2 humble(2)
4.利用VF2部署一个网络摄像头
本来今天想下载编译openWRT,后来发现tf卡空间分配问题,明天再调整吧,看了看桌上的USB摄像头,今天晚上就你出场了。
一开始我是犹豫的,因为RISC-V的生态,不一定能部署的上相关软件,但是JH7110,加上Imagination的GPU,再加上Debian OS,想不出会有什么不兼容的场景,最大风险可能来自CPU,有的话应该都能解决掉,那就上吧。
软件环境、源码下载、编译和安装、服务启动(本部分小编略写,请点击阅读全文查看)
网络摄像头测试
(一)在线视频查看
(二)取一张图,取一张图的URL为`IP:8080?action=snapshot,直接给自己照相:
一些体会
全程下来无错误,整个软件安装非常顺利,本以为会出现的各种小问题一个都没。
JH7110 CPU功能强大,之前在H616上也编译过mjpg-streamer,耗时跟VF2完全不同,在VF2上简直飞一般编译安装。
GPU(Imagination BXE-4-32 GPU)还没有测试,按理来说Imagination的应该兼容性和性能不会有什么大问题,下次有时间可以测试下。
5.基于昉·星光2的openWRT
烧写、配置和测试
自从上一篇玩多媒体的文章后,一直想在VF2的Imagination BXE-4-32 GPU上搞点小事情来,在最新的Debian OS上编译好openCV后,正兴致勃勃的计划搞点猫猫狗狗识别demo,连haarcascade数据都准备好了,突然听到前方探路说图像不能显示,再三确认后答复依旧,遂放弃这一打算。这几天正打算去社区官网下个源码,基于visionFive的BSP编个IMG来试试是否可行,毕竟VF2的BSP貌似还没有,如此周密的计划,想到这里,我不由得笑了~
刚好收到了Chloe小姐姐的mail,小姐姐在信中介绍了RV社区和openWRT社区的情报,说有大佬已经发布了openWRT的固件,哪涅?既然大佬有img,先上手操练起来。
一、固件烧写
RV社区IMG下载地址(适用visionfive2-v1.3B的openwrt固件---集成了10余种我日常使用的插件。- 昉·星光 2(中文论坛) - RVspace Forum)。
将IMG从weiyun上下载下来,利用U盘烧写工具,我比较喜欢和习惯Rufus,将openwrt-visionfive2-generic-visionfive2-ext4-sdcard.img烧进TF卡,然后上电启动。
U-Boot SPL 2021.10 (Feb 28 2023 - 21:44:53 +0800) DDR version: dc2e84f0. Trying to boot from SPI OpenSBI v1.2 ____ _____ ____ _____ / __ \ / ____| _ \_ _| | | | |_ __ ___ _ __ | (___ | |_) || | | | | | '_ \ / _ \ '_ \ \___ \| _ < | | | |__| | |_) | __/ | | |____) | |_) || |_ \____/| .__/ \___|_| |_|_____/|____/_____| | | |_| Platform Name : StarFive VisionFive V2 Platform Features : medeleg Platform HART Count : 5 Platform IPI Device : aclint-mswi Platform Timer Device : aclint-mtimer @ 4000000Hz Platform Console Device : uart8250 Platform HSM Device : jh7110-hsm Platform PMU Device : --- Platform Reboot Device : pm-reset Platform Shutdown Device : pm-reset Firmware Base : 0x40000000 Firmware Size : 292 KB Runtime SBI Version : 1.0 Domain0 Name : root Domain0 Boot HART : 1 Domain0 HARTs : 0*,1*,2*,3*,4* Domain0 Region00 : 0x0000000002000000-0x000000000200ffff (I) Domain0 Region01 : 0x0000000040000000-0x000000004007ffff () Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X) Domain0 Next Address : 0x0000000040200000 Domain0 Next Arg1 : 0x0000000042200000 Domain0 Next Mode : S-mode Domain0 SysReset : yes Boot HART ID : 1 Boot HART Domain : root Boot HART Priv Version : v1.11 Boot HART Base ISA : rv64imafdcbx Boot HART ISA Extensions : none Boot HART PMP Count : 8 Boot HART PMP Granularity : 4096 Boot HART PMP Address Bits: 34 Boot HART MHPM Count : 2 Boot HART MIDELEG : 0x0000000000000222 Boot HART MEDELEG : 0x000000000000b109 U-Boot 2021.10 (Feb 28 2023 - 21:44:53 +0800), Build: jenkins-VF2_515_Branch_SDK_Release-31 CPU: rv64imacu Model: StarFive VisionFive V2 DRAM: 4 GiB MMC: sdio0@16010000: 0, sdio1@16020000: 1 Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB *** Warning - bad CRC, using default environment StarFive EEPROM format v2
(左右移动查看全部内容)
看看系统信息:
root@OpenWrt:/# uname -a Linux OpenWrt 6.1.35 #0 SMP Fri Jun 30 12:46:49 2023 riscv64 GNU/Linux root@OpenWrt:/#
(左右移动查看全部内容)
二、网络配置
主要思路是先把VF2网络配通,其他小功能可以直接在openWRT的网页管理侧去配置。
审核编辑:汤梓红
评论
查看更多