前情提要:
lvgl 和 framebuffer 的关系:
Framebuffer作为LVGL的底层显示基础;
LVGL的渲染流程依赖Framebuffer驱动;
一、lvgl
1、lvgl 概念:
轻量级的一个图形库,开源项目(国外GitHub能找到)
2、lval移植库过程:
- 将库文件移入虚拟机内解压
- 调整文件存放目录

- 修改mian.c的参数

- 修改makefile

-
修改文件 lv_conf.h td35 240*320 色深 rgb565 (16bit) ; 将二维码权限打开
-
visual code:查找文件名(Ctrl + p)
-
- make
3、触摸屏
- 分类
- 电阻:需要校准
- 电容:不需要校准
- 将其相关配置配好
- 修改设备树相关内容
- vi arch/arm/boot/dts/imx6ull-alientek-emmc.dts


- vi arch/arm/boot/dts/imx6ull-alientek-emmc.dts
- 编译成功后,替换之前的设备树
- cp arch/arm/boot/dts/imx6ull-alientek-emmc.dtb ~/tftpboot/
- 需要触摸屏: 进入minicom挂载成功后输入指令(配置成功ls看一下有没有生成touch.ko)
- insmod touch.ko
- 修改设备树相关内容
4、调用lvgl图形库
每次在Create a Demo处调用,相关函数,make生成./demo可执行文件

5、图形设计
- 软件 :

- 创建新项目
- 设置基本参数
- 基本操作
- 添加页面

- 添加按钮(可跳转画面)
- 添加按钮后右键add event

- 添加按钮后右键add event
- 添加页面
- 中文文字显示问题(本身图形设计应用没有中文字体,需要自己添加)
- 找window的字体在C盘font
- 复制到存放项目文件夹内

- 在应用资源管理的字体,添加复制的字体

- 运行看是否符合预期

- 导出代码(最好放桌面,方便寻找)


- 介绍导出去的文件夹内部内容
- main.c

- 其他两个文件夹,是我们所需要的,拷贝到虚拟机的mylvgl的目录下新建个文件夹gui中

- mylvgl的main.c 添加全局变量和调用的函数
- 将gui的main.c中的全局变量(lv_ui guider_ui;),复制过来
- 将gui的main.c中的主要调用函数调用过来( setup_ui(&guider_ui);)
- 包头文件:#include "gui_guider.h"
- 修改makefile
- 头文件路径
- 所有.c文件
- 依赖关系
- make编译
- main.c
运行图形设计器:
将前面的路铺好,启动板子开启minicom,进入minicom挂载成功后输入动态加载内核模块指令,进入文件夹内启动可执行文件(./demo),至此大功告成


1153

被折叠的 条评论
为什么被折叠?



