在OpenSUSE Linux上搭建LVGL模拟器环境(VSCode+SDL2)
在OpenSUSE Linux上搭建LVGL模拟器环境(VSCode+SDL2)
SDL2运行环境与依赖库安装
要在OpenSUSE系统上运行LVGL模拟器,首先需要安装SDL2库及其开发文件。
# 查找可用的SDL2包
sudo zypper search libsdl2
# 安装SDL2运行时和开发库
sudo zypper install libSDL2-2_0-0 libSDL2-devel
创建VSCode+SDL模拟器项目
LVGL官方提供了一个基于SDL2的模拟器项目,允许开发者在PC上调试嵌入式界面,而无需实际的硬件设备。这个模拟器使用SDL2实现了底层渲染功能,方便开发者在PC上进行开发调试,完成后再移植到嵌入式设备。SDL是一个底层驱动库,用于处理图形、鼠标、键盘等输入输出。项目详情请参考:https://github.com/lvgl/lv_sim_vscode_sdl
获取项目源码
# 克隆项目仓库(包含子模块)
git clone https://github.com/lvgl/lv_sim_vscode_sdl.git --depth=1 --recursive
# 更新项目(如需要)
cd lv_sim_vscode_sdl
git pull --recurse-submodules
加速克隆过程
由于网络原因,直接从GitHub克隆可能较慢。可以使用以下方法加速:
如果无法正常克隆,可以将github.com替换为github.com.cnpmjs.org,操作如下:
https://zhuanlan.zhihu.com/p/361136073
另一种方法(未经验证):
# 进入项目目录
cd lv_sim_vscode_sdl/
# 配置Git代理(以下任选一种)
git config url."https://gitclone.com/github.com/".insteadOf https://github.com/
# 或
git config url."https://github.com.cnpmjs.org".insteadOf https://github.com/
在VSCode中运行项目
使用VSCode打开项目(请确保已安装C/C++扩展),按下F5键启动调试程序。

默认情况下,程序将运行lv_demo_widgets()示例。

开发指南
LVGL官方网站:https://lvgl.io/
控件示例
LVGL提供了丰富的控件示例,可在以下地址查看:
https://docs.lvgl.io/master/examples.html#get-started
示例应用源码
示例应用的主程序源码位于lv_examples/src/目录下,例如音乐播放器示例位于lv_examples/src/lv_demo_music/lv_demo_music.c。
使用Squareline Studio进行界面开发
Squareline Studio是LVGL官方推荐的界面设计器,可用于创建用户界面并添加事件处理。
设计完成后,通过Export菜单导出项目。建议先导出LVGL模板工程(Export Project),再导出UI逻辑代码(Export File)。

注意:如果不导出UI逻辑代码,将无法看到事件处理的程序接口。
实际上,导出工程只是生成一个LVGL的Eclipse-CDT模板工程,而导出代码才是真正的UI和逻辑代码。可以将导出的代码复制到同版本的LVGL工程中的ui目录,然后在main.c中添加#include "ui/ui.h",并在main()函数的while(1)循环前添加ui_init();即可。
推荐学习资源
LVGL教程集合:https://deepinout.com/lvgl-tutorials
Windows系统上的使用方法
在Windows系统上,可以通过MSYS2环境安装SDL2:
# 在MSYS2中搜索SDL2包
pacman -Ss sdl2
# 安装SDL2
pacman -S mingw-w64-x86_64-SDL2