【平头哥Sipeed LicheeRV 86 Panel测评】八、lvgl库初体验

sonicfirr   2022-3-27 19:00 楼主

1、入坑lvgl

本人对Tina-SDK的源码检索中,在packages目录下发现了一个“gui”文件夹,里面包含了不少GUI库。打开发现都是“.patch”文件,也就是Linux系统补丁,谁知道官方提供的镜像中包不包含呢!

 

image-20220327185922-1.png

8-1 Tina SDK中的GUI目录

 

于是,本人想到了在系统检索lib文件的方式以作查看(这种方法是否准确,作为Linux菜鸟也并不确定),通过“find / -name *lib*”和“find / -name *.so*”命令检索出全部libso库。接着一通翻找,发现了这个文件“liblvgl.so”。这时,又想到论坛中博主manhuami2007发过的一个帖子“【平头哥Sipeed LicheeRV 86 Panel测评】 3-移植LVGLhttps://bbs.eeworld.com.cn/thread-1197092-1-1.html)”,于是决定进行lvgl库的尝试。

 

image-20220327185922-2.png

  image-20220327185922-3.png

 8-2 找到liblvgl.so

 

特别感谢博主manhuami2007的案例分享,本人直接下载了这个项目(https://download.eeworld.com.cn/eewsearcher?s=2&kw=lvgl)。

2、项目编译测试“遇坑”

先说一下本人的开发过程,本节是“踩坑”记录,请读者朋友们注意。

之前,一直使用的是SDK中提供的工具链“..\tina-d1-h\repo\prebuilt\gcc\linux-x86\riscv\toolchain-thead-glibc\riscv64-glibc-gcc-thead_20200702”,而且已经部署了Windows平台的WSL子系统,于是解压案例并开始make

就这样,第一个坑出现了,make”或“make all”都输出报错。

 

image-20220327185922-4.png

 8-3 直接make的报错

 

本人判断是Makefile的原因,所以打开项目根目录的Makefile文件(Windows平台,直接用记事本打开),发现“CC”参数还没有定义,另外其中连接了“..\lvgl\lvgl.mk”,很明显报错是这里引起的。因为它又连接多个mk文件,其中前两个是不存在的而且也没有用处,果断注释掉后make成功。

 

image-20220327185922-5.png

8-4 根目录Makefile

 

image-20220327185922-6.png 8-4 修改lvgl.mk(注释掉前两行)

 

image-20220327185922-7.png

8-5 修改Makefilemake成功

 

编译的目标文件和最后输出demo”都是在项目根目录中,利用mobaXterm导入到86板,然后修改权限并尝试运行,结果碰到了第二个坑,执行报错。

 

image-20220327185922-8.png

8-6 20200702版工具链编译的项目执行报错

 

3、成功避坑

通过网上查找,了解到可能是GCC版本引起的错误,于是换到虚拟机,之前本人在其中部署过平头哥提供的“d1阿里小程序_SDK”中的工具链。

发送工程(通过FileZilla)到虚拟机,解压并再次修改Makefile(按上节方法,不过变量赋值改为:“CC ?= $$CC”),然后编译项目,导入到开发板,成功运行。

这里需要注意,阿里小程序工具链是通过source加载脚本文件,在控制台生成的临时环境变量,gcc工具映射为变量“$CC”,所以在Makefile中写成“$$CC”,第一个“$”是Makefile中的变量定义,第二个“$”表示系统环境变量。阿里小程序工具链的部署方法,大家可以参考博主码农爱学习的文章(https://bbs.eeworld.com.cn/thread-1194441-1-1.html)。

 

image-20220327185922-9.png 8-7 阿里小程序工具链编译

 

image-20220327185922-10.png 8-8 成功运行

 

image-20220327185922-11.png

8-9 运行效果

 

  大家可以下载案例自行查看,这里本人就不贴源码占字数了。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复