visionfive 是赛昉科技推出的一款开发板,使用的处理器是他们自家研发的【惊鸿 7100】(JH7100),这是一颗 risc-v 架构的处理器,双核 U74,U74 对标的是 ARM 的 Cortex-A55 。
写入镜像
这块板子的系统运行和树莓派一样,需要先将系统镜像写入内存卡,再插到板子上来运行。目前官方提供的只有 Fedora 这个发行版,可以在 GitHub 上找到下载链接。
https://github.com/starfive-tech/Fedora_on_StarFive
下载完是一个特殊的压缩格式,zst,我搜了一下
当前这种 ZST 格式是一种 压缩文件 ,是由 ZStandard 研发,作为一种 ZStandard压缩文件使用,此文件流行程度是 50 分(0-100满分)。
还得使用专门的工具才能解压,稍微麻烦了点。工具在这里有提供
点击网页左侧的 Flashing Fedora OS to a Micro-SD Card 可以快速达到。
我是在 win10 进行操作的,将下载好的解压工具,从压缩包里解压出来,和 zst 文件放在一起。
此时在这个文件夹里的空白处,一只手按住键盘上的 shift 键,另一只手按一下鼠标的右键,在此处打开 powershell,就可以快速在当前文件夹打开一个命令行窗口。(此处我的 powershell 是自己升级过的,系统自带的是没有带 preview 的。)
执行这条命令就可以解压了
./zstd.exe -d Fedora-riscv64-jh7100-developer-xfce-Rawhide-20211226-214100.n.0-sda.raw\.zst -o Fedora-riscv64-jh7100-developer-xfce-Rawhide-20211226-214100.n.0-sda.raw |
解压出来的文件差不多 13G,可以使用写盘工具将它写入内存卡中,例如 etcher。
开机
之后将内存卡插入开发板,使用 HDMI 线连接显示器,通电开机,便可进入 Fedora 了。
默认的用户名是 riscv
密码是 starfive
这台设备的桌面体验,我感觉还是比较差的,毕竟没有 GPU,而已本身也只是双核而已,所以桌面体验会有一些卡顿。很快我就放弃用鼠标来控制它了,而是选择在电脑上通过 ssh 来控制它。
如何通过 gpio 控制 LED 灯?
通过这个网页,我们可以了解到这块板子的 GPIO 信息
https://rvspace.org/en/Product/General/StarFive_40-Pin_GPIO_Header_User_Guide
准备一颗 LED 灯,一头连接 34 号的 GND,一头连接 40 号的 GPIO0
在终端里进行如下的操作(需要 root 身份来执行)
cd /sys/class/gpio |
这样便可以点亮 LED 灯
如果想熄灭它,只需执行
echo 0 > value |
官方文档里的这个表格非常重要,刚才我们控制 GPIO0,操作的是 448,如果现在我们想控制 GPIO4,从表格可以查到是 452,那么只需将刚才的 448 换成 452 即可让 GPIO4 输出高电平。
对此我写了一个 Python 脚本,作用是监控哔哩哔哩上面是否有人给我发私信,也就是我是否有未读消息,如果有的话,则点亮 LED 灯。而当我看完消息后,脚本检测到目前没有未读消息了,则会将 LED 灯熄灭。
脚本已放在 GitHub 上面,有兴趣的朋友可以参考一下。
https://github.com/powersee/bilibili_unread/blob/master/bili-for-visionfive.py