lvgl arm linux帧buffer移植方法

目录

1.源码获取

2. 修改对应配置

3.编译文件

4.测试程序

5.实际效图片


1.源码获取

        lvgl有已经移植好的项目只需下载编译即可,项目地址:

GitHub - lvgl/lv_port_linux_frame_buffer: LVGL configured to work with a standard Linux framebuffer

        在github上面使用git工具即可克隆完整源码:

git clone https://github.com/lvgl/lv_port_linux_frame_buffer.git
cd lv_port_linux_frame_buffer/
git submodule update --init --recursive

或者使用gitee直接克隆整个工程:

 lvgl_linux_arm帧缓存工程: lvgl linux arm 帧缓存工程

 直接克隆这个工程即可:

git clone https://gitee.com/already_use/lvgl_linux_arm.git

2. 修改对应配置

  1. 修改项目文件 lv_conf.h 的第33行改为屏幕的颜色位数rgb565

    #define LV_COLOR_DEPTH 16 //32

  2. 修改项目文件 lv_drv_conf.h 334行指定使用的屏幕,如果默认为fb0则不用修改

    #define FBDEV_PATH "/dev/fb0"

  3. 修改项目文件 lv_drv_conf.h 450行 改为实际映射的鼠标或者触摸屏映射驱动文件

    #define EVDEV_NAME "/dev/input/event10" 

    修改为实际的触摸屏或者鼠标文件

    #define EVDEV_NAME "/dev/input/event0"

  4. 修改main.c文件 32和33行

    disp_drv.hor_res = 800;//屏幕宽度

    disp_drv.ver_res = 480;//屏幕高度

    改为实际屏幕的宽高

    disp_drv.hor_res = 128;

    disp_drv.ver_res = 160;

3.编译文件

  1. Download工程项目源码

    git clone https://gitee.com/already_use/lvgl_linux_arm.git
  2. 修改 lv_port_linux_frame_buffer/makefile 里面的cc编译器和安装目录

    CC ?= gcc 改为 CC := arm-linux-gcc 
    prefix ?= ./output
  3. 在lv_port_linux_frame_buffer目录里添加 output 目录

    mkdir output
  4. 在lv_port_linux_frame_buffer/makefile里添加

    .PHONY: install
  5. 执行编译命令

    make -j4
  6. 执行安装命令

    make install

        如果遇到编译报警:

arm-linux-gcc: 错误:unrecognized command line option ‘-Wshift-negative-value’

    删除makefile CFLAGS包含的 -Wshift-negative-value 标志。

4.测试程序

  1. 在output里有可以运行的demo文件,直接拷贝这个文件到arm linux 开发板即可运行
./demo

如果有警告:

ioctl(FBIOBLANK): Invalid argument

 则屏蔽代码lvgl_linux_arm\lv_port_linux_frame_buffer\lv_drivers\display\fbdev.c 101-105 行:

    // Make sure that the display is on.
 //   if (ioctl(fbfd, FBIOBLANK, FB_BLANK_UNBLANK) != 0) {
 //       perror("ioctl(FBIOBLANK)");
  //      return;
 //   }

5.实际效图片

猜你喜欢

转载自blog.csdn.net/klp1358484518/article/details/130032766