【平头哥Sipeed LicheeRV 86 Panel测评】 8-评测总结
[复制链接]
经过1个多月的努力,终于完成了RV86开发板的测评任务。这次测评关注的是应用层的开发,RV86的底层工作一点也没做。不过在STM32的远程终端上写了不少代码。
对本次测评进行一下总结。
一、开发步骤
-
向开发板上烧录固件。官方会提供烧写工具和编译好的固件。通过工具将固件下载到开发板上。
-
建立开发板的通信方式。最基础的方式是通过串口通信。如果配置好了联网的方式,如wifi,就可以通过SSH远程连接,访问开发板。也可以通过SCP指令进行文件传输。RV86还提供了ADB的通信方式,这样就可以通过USB与开发板连接,通过adb shell 和 adb push 指令与开发板通信和传输文件。
-
在Ubuntu上搭建交叉编译环境。使用官方提供SDK,运行其中的脚本即可搭建好交叉编译环境。搭建交叉编译环境的目的是为了获得能够生成开发板上的应用程序的环境,包括gcc、g++等编译工具,头文件以及头文件对应的lib库,设置相应的环境变量等内容。
-
开始编写程序。最简单的程序应该是使用shell脚本程序,不需要编译就可以运行。对于C语言的程序,需要在电脑上交叉编译,然后传入到开发板上运行。如果想使用python语言,就需要先在电脑上通过交叉编译环境进行编译,生成相关的lib库和python可执行程序,然后传入到开发板上就可以使用了。
二、测评项目的程序设计
这次评测使用的是C语言+Python语言。
-
使用C语言编写lvgl的屏幕显示代码。lvgl通过"/dev/fb0",访问屏幕数据,通过"/dev/input/event2" 访问触摸屏的数据。然后通过socket与Python的进程进行通信,传递和获取相关数据。在lvgl上使用了Tabview, label, img, switch, table等控件,并安装了仿宋24号中文字库。
-
Python使用的3.8的版本,使用Python编写了2个进程。
- 第一个进程作为后台进程,建立了2个socket,一个socket与lvgl的显示进程通信,一个socket与远端的TCP服务器通信。实现了与lvgl进程的交互,与远端的stm32开发板的交互,能够控制远端的LED,获取远端的温度数据,并保存到文件中。
- 第二个进程使用作为启动进程,分别启动上面的后台进程,lvgl的显示进程,以及播放语音的进程。播放语音是使用的
aplay -D hw:0,0 xxxx.wav 指令进行播放的。
至此完成整个测评项目的程序设计。
三、效果演示
四、代码
Python源代码.rar
(1.4 KB, 下载次数: 1)
c源代码.rar
(5.15 KB, 下载次数: 1)
|