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相关推荐

  1. imx6ull移植Linux系统第二篇——Linux内核的移植

    imx6ull移植Linux系统第二篇--Linux内核的移植 花了大概两周的时间,把Linux的移植认真学了一遍,期间踩了不少坑,花费了不少时间去解决各种奇奇怪怪的问题,最终完成了uboot.系统镜 ...

  2. MCUXpresso开发NXP RT1060(3)——移植LVGL到NXP RT1060

    目录 开发环境 目录 一.开发环境 二.准备工作 三.移植步骤 1.修改lv_conf.h 2.显示功能移植 3.触摸功能移植 4.tick及timer 四.结果展示 五.参考资料 一.开发环境 1. ...

  3. 乐鑫ESP32移植LVGL 7.10

    零. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:ESP-IDF基本介绍,主要会涉及模组,芯片,开发板的介绍,环境搭建,程序编译下载,启动流程等一些基本的操作,让你对 ...

  4. linux笔记(8):东山哪吒D1H移植lvgl(HDMI输出)

    文章目录 1. 下载,修改,编译源码 1.1下载源码 1.1.1新建一个`lvgl`目录,在该目录下下载源码 1.1.2 在`lvgl`目录下再建一个`myspace/lvgl_demo`目录,把参与 ...

  5. UEFI移植LVGL

    自己组装过游戏主机的应该都有看到过,进入BIOS设置,酷炫的界面便呈现在眼前,而很多BIOS,使用的还是标准的界面.现在有个趋势,phoenix和insyde也在慢慢朝这种GUI界面发展,而AMI的使 ...

  6. STM32移植LVGL(LittleVGL)

    STM32移植LVGL(LittleVGL) 一.什么是LVGL https://lvgl.io/ 这是LVGL的官网, http://lvgl.100ask.org/8.2/intro/index. ...

  7. STM32移植LVGL+旋转编码器接口对接

    写在前面:本菜鸟结合了许多大佬的文章,成功实现了基于LVGL的GUI设计,小开心~浅浅记录一下!~ 本文以单片机STM32F103VET6为核心,利用ST7796芯片驱动分辨率为480*320的LCD ...

  8. 【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL

    一 LVGL简介 最近emwin用的比较烦躁,同时被LVGL酷炫的界面吸引到了,所以准备换用LVGL试试水. LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切 ...

  9. TFT-LCD移植LVGL详细过程记录

    TFT-LCD移植LVGL LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用. LVGL更多介绍:http ...

最新文章

  1. 12月国内网站流量统计5强:360安全中心后来居上
  2. Python 8 协程,异步IO,Paramiko
  3. SQLServer数据的基本操作:简单的增、删、改、查
  4. SSTable数据结构
  5. html向后端发送请求
  6. AWS Messaging Services:选择合适的服务
  7. js获取Json对象的长度
  8. Java从string数组创建临时文件
  9. MyEclipse下JDBC-MySQL配置总结
  10. 集群搭建在一台计算机上,服务器集群
  11. Python 包管理
  12. 会自动消失的提示信息
  13. 计算机大赛教学辅助课件,职业教育:机械类一等奖作品《识读组合体视图教学辅助》PPT课件.ppt...
  14. sql添加字段并设置外键
  15. Froala editor 2.9.5 使用
  16. 行驶证OCR识别,信息提取
  17. 【电脑讲解】电脑常用快捷键,10个常用快捷键提高电脑工作效率
  18. 微信小程序商城(微店)系统部署及搭建 电商类
  19. 关于安卓视频加水印与剪辑功能实现
  20. python为什么用号做注释符_Python 为什么用 # 号作注释符?

热门文章

  1. 广州周立功CanTest卡使用教程一
  2. 安装SAS增强型编辑器资源和步骤
  3. linux系统下的rz、sz详解
  4. exception 类 java_Java 常见异常种类
  5. 数论概论读书笔记 13.素数的计数
  6. 【前端安全】密码安全
  7. 游戏系统及开发相关概述(下)
  8. OrCAD导入元件原理图符号流程
  9. 正则表达式-替换网址
  10. pytorch 1.7训练保存的模型在1.4低版本无法加载:frame #63: <unknown function> + 0x1db3e0 (0x55ba98ddd3e0 in /data/user