LVGL 移植
- LVGL简介
- 移植步骤
- 获取LVGL源码
- 添加LVGL源码
- 编写MakeFile
- 显示设备驱动
- 输入设备驱动
- 文件系统
LVGL简介
LVGL(Light and Versatile Graphics Library)是一个免费的轻量级开源图形库,其主要特征有:
- 丰富的部件:开关、按钮、图表、列表、滑块、图片,等等。
- 高级图形属性:具有动画、抗锯齿、不透明度、平滑滚动等高级图形属性。
- 支持多种输入设备:如触摸屏、鼠标、键盘、编码器等。
- 支持多语言:UTF-8 编码。
- 支持多显示器:它可以同时使用多个 TFT 或者单色显示器。
- 支持多种样式属性:它具有类 CSS 的样式,支持自定义图形元素。
- 独立于硬件之外:它可以与任何微控制器或显示器一起使用。
- 可扩展性:它能够以小内存运行(最低 64 kB 闪存,16 kB RAM 的 MCU)。
- 支持操作系统、外部存储器和 GPU(不是必需的)。
- 具有高级图形效果:可进行单帧缓冲区操作。
- 纯 C 编写: LVGL 基于 C 语言编写,以获得最大的兼容性。
LVGL 是一款具有丰富部件,具备高级图形特性,支持多种输入设备和多国语言,独立于硬件之外的开源图形库。该网页主要包含用户文档、图片转换器和字体转换器。
LVGL官网
LVGL GitHub
百文网
LVGL官方文档
移植步骤
LVGL移植还是比较简单,主要修改如下文件:
- lv_port_disp_template.c
获取LVGL源码
- 源码地址:https://github.com/lvgl/lvgl.git
- 克隆源码$git clone https://github.com/lvgl/lvgl.git
LVGL源码目录结构
添加LVGL源码
- 在工程源码新建lvgl目录;
- 将源码lvgl/src目录所有文件拷贝到工程lvgl目录下;
- 将源码lvgl/lv_conf_template.h拷贝到工程lvgl/lv_conf.h(重命名)
- 将源码lvgl/examples/porting目录下所有文件拷贝并重命名去掉_template到工程源码lvgl/src/目录下