Ubuntu下运行LVGL模拟器
时间:2024-04-13 15:00:30 来源:网络cs 作者:峨乐 栏目:选词工具 阅读:
文章目录
一、前言二、在Ubuntu内安装VS Code(方法很多,不限于本篇文章的方法)三、获取源码3.2 方法一:从Github拉取源码3.3 方法二:从Gitee码云拉取源码 四、安装Linux SDL2驱动五、编译源码六、关于main( )函数和示例七、修改模拟器分辨率
一、前言
LVGL是一个可高度可裁剪、低资源占用、界面美观且易用的C语言嵌入式系统图形库,是当下最流行的嵌入式图形库之一。你可以通过调用该库提供的函数,创建出自己想要的图形界面,然后移植到你自己的嵌入式开发板上。使用LVGL的嵌入式开发者很多,在网上也比较容易找资源,遇到问题大部分也可以在网上找到答案。
图1-LVGL官方演示例程:
LVGL支持模拟器,模拟器支持Windows、Linux或macOS系统,你也可以先在电脑上先运行你的LVGL项目,当你觉得界面设计的差不多的时候,再把源码移植到嵌入式开发板上。
官方列出了支持LVGL模拟器的IDE如下表:
IDE | 可以支持的PC系统 | Github |
---|---|---|
Eclipse + SDL驱动 | Linux 或 Mac | https://github.com/lvgl/lv_sim_eclipse_sdl |
CodeBlocks | Windows | https://github.com/lvgl/lv_sim_codeblocks_win |
VisualStudio | Windows | https://github.com/lvgl/lv_sim_visual_studio_sdl |
VSCode + SDL/X11 驱动 | Linux (SDL/X11)或Mac (SDL) | https://github.com/lvgl/lv_sim_vscode_sdl |
PlatformIO + SDL驱动 | Linux 或 Mac | https://github.com/lvgl/lv_platformio |
MDK + FastModel | Windows | https://github.com/lvgl/lv_port_an547_cm55_sim |
大多数开发者都使用Windows平台下的VisualStudio运行LVGL模拟器,网上的环境搭建教程也很多。但是在Linux上使用LVGL模拟器的教程相对较少,难免有些小伙伴就喜欢折腾Linux,所以本文选择上表中的第四个IDE——“VSCode + SDL/X11 驱动”的方式,在Ubuntu系统上运行LVGL模拟器。
二、在Ubuntu内安装VS Code(方法很多,不限于本篇文章的方法)
方法一:也可以通过Ubuntu内置的Firfox浏览器下载VS Code的.deb安装包(https://code.visualstudio.com/Download):
执行dpkg指令安装VS Code:
sudo dpkg -i code_1.85.1-1702462158_amd64.deb
方法二:在较新版本的Ubuntu内,你甚至可以直接在应用商店搜索安装VS Code:
方法三:使用wget指令下载VS Code安装包(版本可能会变化,下载链接可能会变化):
wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/code_1.85.1-1702462158_amd64.deb
执行dpkg指令安装VS Code:
sudo dpkg -i code_1.85.1-1702462158_amd64.deb
三、获取源码
3.2 方法一:从Github拉取源码
步骤1:通过git clone指令拉取LVGL模拟器源码,GitHub网址:https://github.com/lvgl/lv_port_pc_vscode。
git clone --recursive https://github.com/lvgl/lv_port_pc_vscode
但是由于国内访问github很不稳定,如果你没有梯子的话,上面这条指令大概率会拉取失败,这时你可以直接去看第3.3小节。
步骤2:切换分支
由于上一条指令我们递归拉取的lv_port_pc_vscode源码包含lv_drivers和lvgl两个子分支,这两个子分支默认是最新版本的lvgl库,我们不要最新的,要切换成最稳定的。
通过如下指令切换分支:
cd lv_port_pc_vscode/lvgl/git checkout origin/release/v8.3cd ../lv_drivers/git checkout origin/release/v8.3
3.3 方法二:从Gitee码云拉取源码
步骤1:我在国内的码云上传了这份源码(v8.3稳定版),可以通过如下指令拉取到自己的本地:
git clone https://gitee.com/bi_an_gitee/lv_port_pc_vscode_8.3.git
四、安装Linux SDL2驱动
步骤1:执行下方指令安装Linux SDL2驱动
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev
检查SDL2版本:
sdl2-config --version
五、编译源码
步骤1:使用VS Code打开源码
cd ~/01_lvgl/lv_port_pc_vscode #注意替换成自己的lv_port_pc_vscode源码根目录路径code ./
步骤2:在VS Code内新建一个终端,方便修改源码和编译。
步骤3:修改源码Makefile,把模拟器的显示驱动切换成SDL2,使用默认的X11驱动会提示找不到头文件,如下图。
*注意:编译时如果提示“找不到不到make命令”,通过如下指令安装make和gcc:
sudo apt install makesudo apt install gcc
步骤4:编译成功如下图所示。
六、关于main( )函数和示例
main( )函数位置如下图所示:
例程和demo在lvgl目录下,它们都可以直接在main( )函数中调用查看效果,当我们自己设计LVGL界面时,这些例程可以提供参考。
七、修改模拟器分辨率
模拟器分辨率的修改位置如下图所示。修改完SDL_HOR_RES
和SDL_VER_RES
两个宏后,需要先执行make clean指令、然后在执行make && ./build/bin/demo。
make cleanmake && ./build/bin/demo
欢迎大家点赞、留言、讨论,关注我,后面会出更多和LVGL、嵌入式相关文章。
本文链接:https://www.kjpai.cn/news/2024-04-13/158116.html,文章来源:网络cs,作者:峨乐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!