Lichee RV Dock是全志在线AWOL联合深圳矽速科技sipeed推出的一款基于珠海全志D1 CPU的单板计算机,其主控全志D1为64位RISC-V内核,内存为512MB,板上带有一个SD卡插槽可用于SD卡启动系统,并且带有一个HDMI视频输出接口,一个USB接口,一个板载SDIO WIFI模块,一个音频输出(喇叭),一个LCD液晶屏输出接口,40根完全兼容树莓派的2.5mm引脚,一个兼具串口/下载/供电的USB3.0 TYPE-C接口,开发及使用方法基本与树莓派没有区别。
本文是一篇工程师撰写的评测文章,给基于此板的开发提出一些指导建议, 欢迎指正!
Lichee RV Dock是本次芯片开放社区&平头哥玄铁杯比赛指定开发板之一,另一款开发板为同属AWOL出品的全志D1哪吒开发板,两者使用方法没有任何区别。
由于开发板需要SD卡启动文件系统,所以在进行上电之前需要烧录SD卡镜像,下载地址为https://wiki.sipeed.com/hardware/zh/lichee/RV/flash.html:
使用Win32DiskImager进行烧录:
烧录完毕后,需要使用虚拟机或别的能读取ext4文件系统的软件对rootfs分区进行打开和操作:
打开/etc/ssh/sshd_config,将两行语句取消注释并修改添加:
PermitRootLogin yes
PermitEmptyPasswords yes
允许远程主机以root用户登录SSH,并且不需要设置和输入密码,这是每个嵌入式开发者都必须掌握的基础知识,没有SSH登录方式的话,后面的开发就很麻烦。
然后将开发板上电,打开串口终端:
必要时可插上HDMI显示屏查看图形界面:
在桌面上使用WLAN管理工具设置接入的WIFI热点:
系统菜单--Preferenes--Connman Settings
串口登录用户名:sipeed 密码:licheepi
串口下使用ifconfig查看WIFI模块分配的IP地址:
使用root用户远程登录SSH,IP 192.168.1.9:
完成SSH远程登录之后还不能使用apt工具安装软件,这个工具在RISC-V系统上需要更新密钥,在网站https://packages.debian.org/sid/all/debian-ports-archive-keyring/download下载deb软件压缩包:
使用指令
sudo dpkg -i debian-ports-archive-keyring_2022.02.15_all.deb
进行安装,即可正常使用apt工具。
使用ffmpeg软件可在HDMI屏上播放音乐或视频,我这边是播放音乐:
ffmpeg -i /home/shumabaobei1.mp3 -pix_fmt bgra -f fbdev /dev/fb0 -f alsa hw:2,0
Lichee RV Dock单板计算机集成了一个RGBLED灯的Demo,方法是操作
/sys/class/leds/sunxi_led0r/brightness
/sys/class/leds/sunxi_led0g/brightness
/sys/class/leds/sunxi_led0b/brightness
三个文件,取值范围为0~255,对应红灯/绿灯/蓝灯的亮度,控制方式为PWM,在C程序中也可以使用system()函数进行控制:
echo 255 > /sys/class/leds/sunxi_led0r/brightness
echo 0 > /sys/class/leds/sunxi_led0g/brightness
echo 0 > /sys/class/leds/sunxi_led0b/brightness
echo 0 > /sys/class/leds/sunxi_led0r/brightness
echo 255 > /sys/class/leds/sunxi_led0g/brightness
echo 0 > /sys/class/leds/sunxi_led0b/brightness
echo 0 > /sys/class/leds/sunxi_led0r/brightness
echo 0 > /sys/class/leds/sunxi_led0g/brightness
echo 255 > /sys/class/leds/sunxi_led0b/brightness
echo 0 > /sys/class/leds/sunxi_led0r/brightness
echo 255 > /sys/class/leds/sunxi_led0g/brightness
echo 255 > /sys/class/leds/sunxi_led0b/brightness
echo 255 > /sys/class/leds/sunxi_led0r/brightness
echo 255 > /sys/class/leds/sunxi_led0g/brightness
echo 255 > /sys/class/leds/sunxi_led0b/brightness
然后我稍微做了一些更高级的开发尝试,尝试移植QT5.12的程序到开发板上,这里我求助大佬帮我用RISC-V的交叉编译链编译了相关的QT图形库:
将这些库放置于/home/qt_libs下:
export LD_LIBRARY_PATH=/home/qt_libs/
还有两个跟运行平台相关的framebuffer库:
这两个库放置于/home/qt_plugins的相应目录下:
export QT_PLUGIN_PATH=/home/qt_plugins/
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1920x1080
运行一个QT的demo,只有一个按键和一个Label:
显示效果不是很好:
结语&不足
Lichee RV Dock作为商用单板计算机仍有很大的改进空间,比如USB接口不足,无法接入更多外设,没有RJ45网口提供可靠稳定的TCP/UDP网络连接,CPU散热模块没有提供,内存只有512MB太少等等,希望以后厂商会推出改进型号,毕竟RISC-V解决方案作为芯片国产化尝试,是中国嵌入式爱好者的一小步,更是中国半导体市场的一大步!