LVGL模拟器

背景

LVGL是偶然间发现的轻量级的,用C语言面向对象思想编写的完全开源的GUI。可以在单片机、Linux上通吃,感觉还不错,准备研究一下。首先,就是感受一下效果。目前,还没有类似于Qt Creator之类的IDE,不过有基于Eclipse、VS等做的模拟器。网上很多都是基于这两个IDE做的例子,从开始学习编程就是在Linux,不太习惯windows,还好有VScode。LVGL也有基于VSocde的模拟器。

说是模拟器,其本质就是通过VScode来编译并运行程序而已。底层使用的SDL2,来模拟显示设备。

搭建环境

安装SDL2,通过源码或者命令行

  • https://www.libsdl.org/
  • sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev

从GitHub上下载模拟器源码

git clone --recursive https://github.com/lvgl/lv_sim_vscode_sdl

由于是GitHub,源码数量比较大,比较耗时,中断了无数次,终于下载完成。

目录结构如下

# lv_sim_vscode_sd
.
├── ~
├── licence.txt
├── lv_conf.h
├── lv_demo_conf.h
├── lv_drivers
├── lv_drv_conf.h
├── lv_examples
├── lvgl
├── main
├── Makefile
├── README.md
├── simulator.code-workspace
└── ui
  • lvgl

    GUI核心源码

  • lv_drivers

    显示设备、输入设备等驱动

  • lv_examples

    GUI示例程序

  • main

    程序入口

  • *_conf.h

    配置头文件

编译

通过VScode打开工程,执行F5进行编译运行,会遇到下面的错误。

Building project file: lv_examples/src/lv_demo_widgets/lv_demo_widgets.c
gcc: error: unrecognized command line option ‘-Wshift-negative-value’
Makefile:44: recipe for target 'build/obj/lv_examples/src/lv_demo_widgets/lv_demo_widgets.o' failed
make: *** [build/obj/lv_examples/src/lv_demo_widgets/lv_demo_widgets.o] Error 1
The terminal process "/bin/bash '-c', 'make'" failed to launch (exit code: 2).

原因应该是低版本的GCC不支持该参数吧,直接在顶层Makefile中找到并去掉。再次运行F5,成功出图。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/donglicaiju76152/article/details/118519292