移植lvgl到开发板x210(朱有鹏 s5pv210)上

文章目录

  • 第1阶段:lvgl移植到linux中的framebuffer中
    • 第一步,找到源码,整理后编译
    • 第二步,linux环境下编译,直接执行make
    • 第三步, 编译完成后直解运行demo ./demo
    • 第四步,更改交叉编译工具链 为我们的arm-linux-gcc
    • 第五步,将生成的demo文件拷贝到根文件系统中,执行可见如下结果
  • 第2阶段:完善程序
    • 1.第一阶段存在的问题
    • 2. 解决屏幕不适配的问题
      • 2.1 可以通过应用程序,直接获得屏幕的具体参数,较为简单
      • 2.2 为了熟悉驱动框架,我们查看内核源码获得
    • 2. 将lvgl适配触摸屏

第1阶段:lvgl移植到linux中的framebuffer中

第一步,找到源码,整理后编译

移植lvgl到开发板x210(朱有鹏 s5pv210)上_第1张图片

第二步,linux环境下编译,直接执行make

编译报错
移植lvgl到开发板x210(朱有鹏 s5pv210)上_第2张图片
解决方案1
报错解决

第三步, 编译完成后直解运行demo ./demo

  1. 运行报错
    移植lvgl到开发板x210(朱有鹏 s5pv210)上_第3张图片
  2. 问题分析
    2.1 我猜是因为 input 子系统方面的问题 ,驱动肯定没问题,也就是说使用出了问题 evdev设备 ,在源码中搜索,定位打印错误位置
    移植lvgl到开发板x210(朱有鹏 s5pv210)上_第4张图片
    2.2 打开设备失败的问题,看看自己电脑里有哪些输入设备,改改名字就行啦
    移植lvgl到开发板x210(朱有鹏 s5pv210)上_第5张图片
    2.3 修改相关源码,上述源码位置在lv_drv_conf.h的第450行,因此到相应位置将输入设备改为自己电脑上的就好
    移植lvgl到开发板x210(朱有鹏 s5pv210)上_第6张图片
    移植lvgl到开发板x210(朱有鹏 s5pv210)上_第7张图片
    3 编译,运行不报错,但是啥现象都没有
    3.1 查了一些资料,有个资料提醒了我,既然这套lvgl可以在各个地方移植,那么肯定有一些东西需要配置,才能将显示屏变为framebuffer输出的模式。。。。
    3.2 经过一番探查,设置的都是对的,为什么不显示呢,我怀疑是因为我的虚拟机的/dev/fb0 已经被占用了,所以我想应该编译后直接放到linxu开发板中试试

第四步,更改交叉编译工具链 为我们的arm-linux-gcc

移植lvgl到开发板x210(朱有鹏 s5pv210)上_第8张图片
移植lvgl到开发板x210(朱有鹏 s5pv210)上_第9张图片

第五步,将生成的demo文件拷贝到根文件系统中,执行可见如下结果

第2阶段:完善程序

1.第一阶段存在的问题

  1. 屏幕不适配的问题
  2. 我们的开发板没有鼠标,将鼠标操作换成触屏操作

2. 解决屏幕不适配的问题

2.1 可以通过应用程序,直接获得屏幕的具体参数,较为简单

2.2 为了熟悉驱动框架,我们查看内核源码获得

   1) 首先查看有哪些fb设备,通过设备名字,在源码中搜索得到源文件
移植lvgl到开发板x210(朱有鹏 s5pv210)上_第10张图片
移植lvgl到开发板x210(朱有鹏 s5pv210)上_第11张图片
移植lvgl到开发板x210(朱有鹏 s5pv210)上_第12张图片
移植lvgl到开发板x210(朱有鹏 s5pv210)上_第13张图片
移植lvgl到开发板x210(朱有鹏 s5pv210)上_第14张图片

移植lvgl到开发板x210(朱有鹏 s5pv210)上_第15张图片
找到了 屏幕宽高 分别为 800和480 但是其实不是的应该是 1024和 600 。。。
1024和600 是通过编写应用程序打印出来的
   2) 更改lvgl的程序,验证一下啦,成功

2. 将lvgl适配触摸屏

你可能感兴趣的:(嵌入式linux,开源软件)