lvgl移植到linux板子上

lvgl

例如:说实话,在写这篇文章的时候在犹豫要不要写,毕竟移植是一件简单的事情,而且网上的demo还算比较多,但是还是遇到的坑,所以写一些


链接: 主要灵感来源


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、下载源码

本次移植现在Ubuntu 18.04 LTS,先下载git跟cmake

sudo apt-get install git
sudo apt-get install cmake

这里是lvgl的源码部分这部分lgvl已经给出linux部分的代码了

git clone https://github.com/lvgl/lv_port_linux_frame_buffer.git

这里是lvgl的驱动代码部分

git clone https://github.com/lvgl/lv_drivers.git

这里是lvgl的demo代码部分,这部分可以下载可以不下载

git clone https://github.com/lvgl/lvgl.git

中途可能被限制,毕竟服务器在国外,但是建议多试几次(科学)
在这里插入图片描述
然后将驱动跟源码复制进去

cp -r lv_drivers/ lv_port_linux_frame_buffer/
cp -r lvgl/ lv_port_linux_frame_buffer/

然后在lv_port_linux_frame_buffer目录下直接make,会有一个demo的执行文件,终端file demo这时候会发现

demo: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=104babc2a87b095e2bc9f85c46ae7691b8b62cb0, not stripped

这是因为在lubuntu自带的编译链下面的

二、修改相关配置(以下默认都可,只要界面切换不是很庞大)

在这个工程中,其实相对应的lv_drv_conf.h跟lv_conf.h已经可以使用,但是为了适应你的系统跟屏幕,还要对应进行修改

1.引入库

在这里插入图片描述
在这里插入图片描述
首先在这里把对应的标志位置1.

/Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)/
这里修改相对应的Color depth:其实就是屏幕芯片型号吧,
在这里插入图片描述
这里的是对应屏幕的缓存
在这里插入图片描述
这里可做可不做修改,但是置为1之后把LV_MEM_SIZE稍微增大点
在这里插入图片描述
这里是使能某个测试demo
这里是对linux下的显示驱动的设置linux下基本所有设备都是framebuff
在这里插入图片描述

在这里插入图片描述
这里的是触摸屏,我们选择自己的,可以cat试试
!!!!!!!因为是官方的demo,所以基本make没啥问题,然后接下来我们“移植下”。。。我们打开我们的Makefile,将这儿改成你的交叉编译工具arm-gunixxxxx-gcc那个,
在这里插入图片描述
然后因为各类屏幕都有相对应的初始化过程,取决于驱动!!!
然后直接运行,成功,倘若驱动对应的过程中,屏幕亮了,但是不完整,有类似与翻转的现象,那么,,

改动mian.c部分的
在这里插入图片描述
去翻翻里面的结构体,有个翻转使能跟翻转角度,对应的,如果翻转画面变了。那么坐标也得变,evdev_read作为触摸的回调函数,其功能就是获取触摸,你懂的!!!

在这里插入图片描述


总结

  • 21
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值