一、概述
① 了解LVGL
LVGL是一个开源的嵌入式图形库,全称为Little Video Graphics Library。它专注于为嵌入式系统提供高性能、低资源占用的图形用户界面(GUI)解决方案。 LVGL具有模块化(项目工程源码)的设计,可以在多种硬件平台上运行,包括微控制器和微处理器。 LVGL提供了丰富的图形元素和控件,如按钮、标签、列表、进度条等,以及支持动画效果和触摸屏交互。 它还提供了灵活的主题和样式机制,可以自定义界面的外观和行为。
tips:下载的源码总共有三个部分: LVGL源码 + LVGL Linux平台总源码框架 + LVGL驱动源码
② LVGL源码下载--lvgl-8.2嵌入式图形库,可为任何 MCU、MPU 和显示类型创建精美的 UI。
进入官网之后进入GitHub示例:
下载8.2版本包.
③ 下载arm开发板fb0的代码主框架: LVGL 配置为使用标准 Linux 帧缓冲区
进入主目录之后进行搜索port_linux:反面教材,搜fream buffer比较专业
④ 下载LVGL的驱动源码:用于 LVGL 嵌入式 GUI 库的 TFT 和触摸板驱动程序
二、源码目录的搭建移动
① 移动编译
把lvgl-master和lv_drivers-master中的源码移动到lv_port_linux_frame_buffer里面的lvgl和lv_drivers中后,进入lv_port_linux_frame_buffer,输入:
make进行编译
② 修改Makefile中的编译器选项 由于我用的是arm开发板,修改arm-linux-gcc
③ 编译可能出错的问题 编译可能出现以下错误:error: unrecognized command line option ‘-Wshift-negative-value’ ,arm-linux-gcc 编译器不支持,去掉这个参数
-Wshift-negative-value 是 GCC 编译器选项之一,用于启用关于左移负值的警告。在 LVGL(Light and Versatile Graphics Library)的 Makefile 中,这个选项可能会被用来确保代码中没有意外的左移负值的情况,因为这可能会导致未定义的行为或错误的结果。通过启用这个警告,可以帮助开发者及时发现潜在的问题并进行修复。
编译成功:
使用file命令查看程序的文件属性是不是ARM32位的ARM平台