LVGL介绍
LVGL是一个开源的嵌入式图形库,全称为Little Video Graphics Library。它专注于为嵌入式系统提供高性能、低资源占用的图形用户界面(GUI)解决方案。 LVGL具有模块化(项目工程源码)的设计,可以在多种硬件平台上运行,包括微控制器和微处理器。 LVGL提供了丰富的图形元素和控件,如按钮、标签、列表、进度条等,以及支持动画效果和触摸屏交互。ARM、Ubuntu、windows、单片机:不同系统平台的兼容硬件驱动的源码 它还提供了灵活的主题和样式(或者样式表)机制(比较深入的控件特点),可以自定义界面的外观和行为。
移植需要下载三部分的码源:LVGL源码,LVGL linux平台总资源框架+LVGL驱动源码
LVGL的官方网址:https://lvgl.io
1.下载LVGL源码
2.下载arm linux开发板fb0的源码主框架:
3.下载VGL驱动源码
下载完之后会出现这里三个压缩包
点击这lv_port_linux_frame_buffer-release-v8.2文件中的lv_drivers和lvgl这两个文件你会发现其是空的
我们需要将其他两个压缩包里面的文件相对应复制过来就可以了
3.再ubuntu中成功编译
我们打开v_port_linux_frame_buffer-release-v8.2文件中的Makeflie文件
因为我们走的是arm开发板所以要将gcc改为arm-linux-gcc.其中?是LVGL默认的gcc的编译,所以得将其删除
再打开虚拟机的时候使用make编译会出现这个错误
-Wshift-negative-value错误没有这个指令
再makefile文件中将其删除就好了,这个指令是左移负值警告,之后再make就可以显示编译成功了
然后可以使用file命令来查看程序的文件是不是俗语ARM32位的arm平台
会发现make编译的时候会很慢,因为现在是静态编译,需要将所有的.c文件生成.o文件,再将.o文件编译成可执行的文件,这个只再第一次会这么慢,下次编译就会根据时间戳来确定那个文件修改了再编译那个文件,但是你不能保证你以后是否会使用make clear 指令,这样又得等待很久的时间编译了
建议使用改为动态编译