5 Star 9 Fork 8

socbis / linux-lvgl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

lvgl on linux Frame buffer

主机环境: Ubuntu 18.04
lvgl 8.0.1

获取源码并运行demo

  1. 获取源码

    需要3样东西来构建demo :

    1. lvgl核心控件库: 从此处获取源码 lvgl,选择版本 Release v8.0.1.
    2. 显示和触摸接口层 : 关联图形库与硬件,源码 lv_drivers,选择版本 v8.0.
    3. lv_demo 源码 : 源码 lv_demos, 同样选择版本 v8.0.

    最终得到三个压缩包:

    • lvgl-8.0.1.tar.gz
    • lv_drivers-release-v8.0.zip
    • lv_demos-release-v8.0.zip
  2. 创建文件夹并解压源码:

    mkdir lvgl_linux
    cd lvgl_linux
    # 复制上述压缩包到此处 .
    
    # 解压
    tar xvf lvgl-8.0.1.tar.gz
    unzip lv_drivers-release-v8.0.zip
    unzip lv_demos-release-v8.0.zip
    
    # 重命名解压后的文件夹
    mv lvgl-8.0.1 lvgl
    mv lv_drivers-release-v8.0 lv_drivers
    mv lv_demos-release-v8.0 lv_demos
    
    # delete zip tar
    rm lv_drivers-release-v8.0.zip lv_demos-release-v8.0.zip lvgl-8.0.1.tar.gz
    
    ls
    lv_demos  lv_drivers  lvgl
  3. 获取配置文件

    • 核心库配置文件 : lv_conf.h
    • 驱动配置文件 : lv_drv_conf.h
    • demo配置文件 : lv_demo_conf.h
    # 基于配置模板创建
    cp lvgl/lv_conf_template.h lv_conf.h
    cp lv_drivers/lv_drv_conf_template.h lv_drv_conf.h
    cp lv_demos/lv_demo_conf_template.h lv_demo_conf.h
    
    ls
    lv_conf.h  lv_demo_conf.h  lv_demos  lv_drivers  lv_drv_conf.h  lvgl

    修改配置文件:

    • 使能,将3个文件 #if 0 改为 #if 1 /*Set it to "1" to enable content*/

    • 修改 lv_drv_conf.h

      #  define USE_FBDEV           1
      #  define USE_EVDEV           1
    • 修改 lv_demo_conf.h :

      #define LV_USE_DEMO_WIDGETS        1
    • 修改 lv_conf.h :

      配置 Tick interface

      #define LV_TICK_CUSTOM     1
      #if LV_TICK_CUSTOM
      #define LV_TICK_CUSTOM_INCLUDE  <stdint.h>         /*Header for the system time function*/
      extern uint32_t custom_tick_get(void);
      #define LV_TICK_CUSTOM_SYS_TIME_EXPR (custom_tick_get())     /*Expression evaluating to current system time in ms*/
      #endif   /*LV_TICK_CUSTOM*/

      使能 12,16 号字体:

      #define LV_FONT_MONTSERRAT_12    1
      #define LV_FONT_MONTSERRAT_14    1
      #define LV_FONT_MONTSERRAT_16    1

      设置堆大小:

      • 使用 lvgl 内建内存分配方案: 配置堆大小,实测 2KB 无法启动demo,我给 2MB

        #  define LV_MEM_SIZE    (2 * 1024U * 1024U)          /*[bytes]*/
      • 使用 linux 系统内存分配:使能宏 #define LV_MEM_CUSTOM 1 即可

  4. 编写主程序和Makefile

    main.c 参考自 lv_port_linux_frame_buffer/blob/release/v8.2/main.c

    main.c 中修改 lv_demo.h 路径:

    #include "lv_demos/lv_demo.h"

    Makefile 参考自 lv_port_linux_frame_buffer/blob/release/v8.2/Makefile

    Makefile 做如下修改:

    CC = arm-linux-gnueabihf-gcc
    
    include $(LVGL_DIR)/lv_demos/lv_demo.mk
    
    # CSRCS +=$(LVGL_DIR)/mouse_cursor_icon.c
  5. make 生成 ./demo

空文件

简介

lvgl在linux平台上的移植,以及自己的一些应用程序尝试 展开 收起
C 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/socbis/linux-lvgl.git
git@gitee.com:socbis/linux-lvgl.git
socbis
linux-lvgl
linux-lvgl
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891