正点原子IMX6ULL开发板移植LVGL v8.2

硬件条件

  使用的开发板是正点原子IMX6ULL阿尔法7寸屏幕,分辨率为1024*600,并且附带Qt的出厂系统

下载lvgl源码

  使用git下载github上官方v8.2版本源码:

git clone -b release/v8.2 https://github.com/lvgl/lv_port_linux_frame_buffer.git
git clone -b release/v8.2 https://github.com/lvgl/lvgl.git
git clone -b release/v8.2 https://github.com/lvgl/lv_drivers.git  

  如果使用上面这些命令不加上-b release/v8.2的话就会下载到最新版本的源码,目前版本是lvgl v9版本
  如果网络不佳难以下载源码的话,这里在csdn下载中也上传了代码资源

准备文件

  将上面下载到的三个文件夹(lvgl ,lv_drivers , lv_port_linux_frame_buffer)放在同一个目录里面,并且分别把lvgl文件夹里面的lv_conf_template.h,lvgl_drivers文件夹里面的lv_drv_conf_template.h,lv_port_linux_frame_buffer文件夹里面的Makefile和main.c复制出来放到和它们三个文件夹同级的目录下,其中把lv_conf_template.h和lv_drv_conf_template.h分别重命名为lv_conf.h和lv_drv_conf.h,完成后目录结构如图示:
在这里插入图片描述

修改文件

修改Makefile

  1.CC修改为自己的交叉编译器;2.第7行的-Wall注释掉,因为有可能会编译错误;3.没有用到鼠标输入设备的源码,注释CSRCS行
在这里插入图片描述
  注意:最好也加上这个-std=c99,因为有可能报出gcc错误:for‘ loop initial declarations are only allowed in C99 mode
在这里插入图片描述

修改main.c

  修改一下自己屏幕的分辨率(要根据自己板子的分辨率,我使用的阿尔法开发板是1024*600):
在这里插入图片描述
  没有用到鼠标,注释掉鼠标的注册代码:
在这里插入图片描述
  注意:不要注释触摸屏输入的代码,注释掉这个会使触摸屏触碰没有效果:
在这里插入图片描述

修改lv_conf.h

  打开文件的宏
在这里插入图片描述
  修改显示屏颜色深度,这里我改成16,因为如果改成32的话,显示屏显示的颜色会有发黄的效果,可以试试自己的板子适合哪一种
在这里插入图片描述
  使能显存配置和修改显存大小:
在这里插入图片描述
  设置屏幕刷新时间和心跳时间,这里我都设置为10:
在这里插入图片描述
  使能官方的测试demo:
在这里插入图片描述

修改lv_drv_conf.h

  使能文件:
在这里插入图片描述
  使能显示设备:
在这里插入图片描述
  注意:这个fb0根据自己设备实际情况,可以在板子里面ls /dev看自己是不是fb0

  使能鼠标或触摸板作为evdev接口(用于基于Linux的系统):
在这里插入图片描述
  注意:这个event1也要根据自己设备的实际情况,可以在板子里面使用hexdump /dev/input/event1,然后手指触摸屏触摸几下,有十六进制数据在终端上跳出,就证明是使用event1,如果不是换个别的event再hexdump试一下

编译运行

  make -j32编译出demo文件,然后通过NFS传输文件到开发板上(不懂的可以先看这一篇文章),执行./demo就可以运行了

Qt界面的冲突

  注意:如果点击的时候和出厂的Qt冲突了,可以暂时将板子里面/opt/QDesktop文件拷贝到别的文件夹备份,然后将这个/opt/QDesktop原文件删掉,重启板子再执行./demo就不会冲突了,想恢复回来可以将备份的QDesktop再次拷贝回/opt目录下再重启。还有一个方法:找到正点原子的开发板光盘 A-基础资料->8、系统镜像->2、教程系统镜像->3、文件系统->2、busybox-1.29.0 根文件系统下的 rootfs.tar.bz2。将此文件系统替换到开发板光盘 A-基础资料->5、开发工具->4、正点原子 MFG_TOOL 出厂固件烧录工具->mfgtool->Profiles->Linux->OS Firmware->files->filesystem 下的 rootfs.tar.bz2 (替换前请备份好原来的文件系统!)。然后再烧写进板子,就没有Qt了,其余不再赘述

参考文章

  我也是第一次学习lvgl的移植,走了不少弯路,在此记录一下碰过的问题希望帮助到需要的人,感谢这几个大佬写的技术文章,解决了不少疑惑和麻烦:1.IMX6ULL移植LVGL;2.LVGL v8.2移植到IMX6ULL开发板

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦德斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>