代码拉取完成,页面将自动刷新
主机环境: Ubuntu 18.04
lvgl 8.0.1
获取源码
需要3样东西来构建demo :
lvgl核心控件库
: 从此处获取源码 lvgl,选择版本 Release v8.0.1.显示和触摸接口层
: 关联图形库与硬件,源码 lv_drivers,选择版本 v8.0.lv_demo 源码
: 源码 lv_demos, 同样选择版本 v8.0.最终得到三个压缩包:
lvgl-8.0.1.tar.gz
lv_drivers-release-v8.0.zip
lv_demos-release-v8.0.zip
创建文件夹并解压源码:
mkdir lvgl_linux
cd lvgl_linux
# 复制上述压缩包到此处 .
# 解压
tar xvf lvgl-8.0.1.tar.gz
unzip lv_drivers-release-v8.0.zip
unzip lv_demos-release-v8.0.zip
# 重命名解压后的文件夹
mv lvgl-8.0.1 lvgl
mv lv_drivers-release-v8.0 lv_drivers
mv lv_demos-release-v8.0 lv_demos
# delete zip tar
rm lv_drivers-release-v8.0.zip lv_demos-release-v8.0.zip lvgl-8.0.1.tar.gz
ls
lv_demos lv_drivers lvgl
获取配置文件
lv_conf.h
lv_drv_conf.h
lv_demo_conf.h
# 基于配置模板创建
cp lvgl/lv_conf_template.h lv_conf.h
cp lv_drivers/lv_drv_conf_template.h lv_drv_conf.h
cp lv_demos/lv_demo_conf_template.h lv_demo_conf.h
ls
lv_conf.h lv_demo_conf.h lv_demos lv_drivers lv_drv_conf.h lvgl
修改配置文件:
使能,将3个文件 #if 0
改为 #if 1
/*Set it to "1" to enable content*/
修改 lv_drv_conf.h
:
# define USE_FBDEV 1
# define USE_EVDEV 1
修改 lv_demo_conf.h
:
#define LV_USE_DEMO_WIDGETS 1
修改 lv_conf.h
:
配置 Tick interface
:
#define LV_TICK_CUSTOM 1
#if LV_TICK_CUSTOM
#define LV_TICK_CUSTOM_INCLUDE <stdint.h> /*Header for the system time function*/
extern uint32_t custom_tick_get(void);
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (custom_tick_get()) /*Expression evaluating to current system time in ms*/
#endif /*LV_TICK_CUSTOM*/
使能 12,16 号字体:
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1
设置堆大小:
使用 lvgl 内建内存分配方案: 配置堆大小,实测 2KB 无法启动demo,我给 2MB
# define LV_MEM_SIZE (2 * 1024U * 1024U) /*[bytes]*/
使用 linux 系统内存分配:使能宏 #define LV_MEM_CUSTOM 1
即可
编写主程序和Makefile
main.c
参考自 lv_port_linux_frame_buffer/blob/release/v8.2/main.c
main.c 中修改 lv_demo.h
路径:
#include "lv_demos/lv_demo.h"
Makefile
参考自 lv_port_linux_frame_buffer/blob/release/v8.2/Makefile
Makefile 做如下修改:
CC = arm-linux-gnueabihf-gcc
include $(LVGL_DIR)/lv_demos/lv_demo.mk
# CSRCS +=$(LVGL_DIR)/mouse_cursor_icon.c
make
生成 ./demo
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。