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 ...
最新文章
- 12月国内网站流量统计5强:360安全中心后来居上
- Python 8 协程,异步IO,Paramiko
- SQLServer数据的基本操作:简单的增、删、改、查
- SSTable数据结构
- html向后端发送请求
- AWS Messaging Services:选择合适的服务
- js获取Json对象的长度
- Java从string数组创建临时文件
- MyEclipse下JDBC-MySQL配置总结
- 集群搭建在一台计算机上,服务器集群
- Python 包管理
- 会自动消失的提示信息
- 计算机大赛教学辅助课件,职业教育:机械类一等奖作品《识读组合体视图教学辅助》PPT课件.ppt...
- sql添加字段并设置外键
- Froala editor 2.9.5 使用
- 行驶证OCR识别,信息提取
- 【电脑讲解】电脑常用快捷键,10个常用快捷键提高电脑工作效率
- 微信小程序商城(微店)系统部署及搭建 电商类
- 关于安卓视频加水印与剪辑功能实现
- python为什么用号做注释符_Python 为什么用 # 号作注释符?
热门文章
- 广州周立功CanTest卡使用教程一
- 安装SAS增强型编辑器资源和步骤
- linux系统下的rz、sz详解
- exception 类 java_Java 常见异常种类
- 数论概论读书笔记 13.素数的计数
- 【前端安全】密码安全
- 游戏系统及开发相关概述(下)
- OrCAD导入元件原理图符号流程
- 正则表达式-替换网址
- pytorch 1.7训练保存的模型在1.4低版本无法加载:frame #63: <unknown function> + 0x1db3e0 (0x55ba98ddd3e0 in /data/user