IMX6ULL移植LVGL
IMX6ULL移植LVGL
话不多说,直接开干!!!
1、移植准备
1.1、源码克隆
文件名 | 克隆命令 | 描述 |
---|---|---|
lvgl | git clone https://github.com/lvgl/lvgl.git | 包含了LVGL图形界面控件的源码以及少量例程 |
lvgl | git clone https://github.com/lvgl/lv_drivers.git | 包含了驱动LVGL图形界面的驱动接口源代码 |
lv_port_linux_frame_buffer | git clone https://github.com/lvgl/lv_port_linux_frame_buffer.git | 适配有frame buffer的linux系统的接口 |
lv_demos | git clone https://github.com/lvgl/lv_demos.git | LVGL的例程 |
1.2、demo准备
1、将克隆下来的lvgl、lv_drivers文件和lv_port_linux_frame_buffer下的main.c和Makefile放在一个目录下(~/Linux/ui(目录自拟))
2、将lv_drivers文件中的lv_drv_conf_template.h复制到~/Linux/ui下并改名为lv_drv_conf.h
3、将lvgl文件中的lv_conf_template.h复制到~/Linux/ui下并改名为lv_conf.h
2、Makefile更改
3、lv_drv_conf.h文件修改
3.1、使能这个文件
3.2、使能显示设备
3.3、使能鼠标或者触摸板作为evdev界面(只针对Linux系统)
4、lv_conf.h文件修改
4.1、使能该文件
4.2、修改显示屏像素
4.3、设置显存
49 #else ///<这个不要忘记加上
50 #define LV_EME_CUSTOM_INCLUDE <stdlib.h>
51 #define LV_EME_CUSTOM_ALLOC malloc
52 #define LV_EME_CUSTOM__FREE free
53 #define LV_EME_CUSTOM_REALLOC realloc
4.4设置心跳、刷新时间(刷新时间这个设置,在这里可以不用加也可,似乎这里好像没用)
83 #define LV_DISP_DEF_REFR_PERIOD 10
84 #define LV_INDEV_DEF_REFR_PERIOD 10
85
85 #define LV_TICK_CUSTOM 1
87 #if LV_TICK_CUSTOM
88 #define LV_TICK_CUSTOM_INCLUDE <stdint.h> /*Header for the system time function*/
89 #define LV_TICK_CUSTOM_SYS_TIME_EXPR (custom_tick_get()) /*Expression evaluating to current system time in ms*/
90 #endif /*LV_TICK_CUSTOM*/
4.5、测试官方demo使能
5、main.c文件修改
5.1、设置屏幕大小
5.2、注释鼠标部分代码
6、编译
6.1、编译
make
6.2、效果
7、遇到的错误
1、gcc编译报错 error: ‘for‘ loop initial declarations are only allowed in C99 mode
**原因:**在gcc中直接在for循环中初始化了增量:(因为gcc基于c89标准,换成C99标准就可以在for循环内定义i变量了)
解决:更改Makefile,使用 C99 的方法编译
35 @$(CC) $(CFLAGS) -c $< -std=c99 -o $@
2、arm-linux-gnueabihf-gcc: 错误: unrecognized command line option ‘-Wshift-negative-value’
原因:我也不知道为啥
解决:我前面说过修改Makefile
原因:我也不知道为啥
解决:我前面说过修改Makefile
IMX6ULL移植LVGL相关推荐
- imx6ull移植Linux系统第二篇——Linux内核的移植
imx6ull移植Linux系统第二篇--Linux内核的移植 花了大概两周的时间,把Linux的移植认真学了一遍,期间踩了不少坑,花费了不少时间去解决各种奇奇怪怪的问题,最终完成了uboot.系统镜 ...
- MCUXpresso开发NXP RT1060(3)——移植LVGL到NXP RT1060
目录 开发环境 目录 一.开发环境 二.准备工作 三.移植步骤 1.修改lv_conf.h 2.显示功能移植 3.触摸功能移植 4.tick及timer 四.结果展示 五.参考资料 一.开发环境 1. ...
- 乐鑫ESP32移植LVGL 7.10
零. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:ESP-IDF基本介绍,主要会涉及模组,芯片,开发板的介绍,环境搭建,程序编译下载,启动流程等一些基本的操作,让你对 ...
- linux笔记(8):东山哪吒D1H移植lvgl(HDMI输出)
文章目录 1. 下载,修改,编译源码 1.1下载源码 1.1.1新建一个`lvgl`目录,在该目录下下载源码 1.1.2 在`lvgl`目录下再建一个`myspace/lvgl_demo`目录,把参与 ...
- UEFI移植LVGL
自己组装过游戏主机的应该都有看到过,进入BIOS设置,酷炫的界面便呈现在眼前,而很多BIOS,使用的还是标准的界面.现在有个趋势,phoenix和insyde也在慢慢朝这种GUI界面发展,而AMI的使 ...
- STM32移植LVGL(LittleVGL)
STM32移植LVGL(LittleVGL) 一.什么是LVGL https://lvgl.io/ 这是LVGL的官网, http://lvgl.100ask.org/8.2/intro/index. ...
- STM32移植LVGL+旋转编码器接口对接
写在前面:本菜鸟结合了许多大佬的文章,成功实现了基于LVGL的GUI设计,小开心~浅浅记录一下!~ 本文以单片机STM32F103VET6为核心,利用ST7796芯片驱动分辨率为480*320的LCD ...
- 【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL
一 LVGL简介 最近emwin用的比较烦躁,同时被LVGL酷炫的界面吸引到了,所以准备换用LVGL试试水. LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切 ...
- TFT-LCD移植LVGL详细过程记录
TFT-LCD移植LVGL LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用. LVGL更多介绍:http ...
最新文章
- 查看mali ddk 版本_2019年CPU排行榜,阅读文章查看你的手机CPU还在线上吗
- Putty常用属性设置
- BZOJ2816: [ZJOI2012]网络
- 这届产品经理也太太太太难了吧!
- android 按钮中断,android – 如何“中断”在AccessibilityService中执行的操作?
- ABAP正则表达式 vs SPLIT INTO 1
- python如何使用字典中的值并进行比较_python嵌套字典比较值与取值的实现示例
- anaconda来创建python环境
- Windows 7 Ultimate + Ubuntu 12.04 LTS双系统完美走起
- err_cleartext_not_permitted
- 开课吧:什么是排序算法
- funuiTitle-居中问题修改
- 不透水面提取操作实现
- Python-2 eval函数
- Qt QDir 递归获取文件夹中的所有文件
- 计算机共享w7系统文件共享,win7系统怎么共享文件 电脑一键共享文件方法教程...
- 手机点餐系统概述_餐厅点餐系统需求分析
- 概率论 方差公式_数学提高方差的计算公式是什么
- IP5389+BM3451双向100瓦快充移动电源方案
- HJQ巨佬のTwelveFold Way 手稿电子版