LVGL模拟器+Linux+VsCode连接虚拟机开发环境配置
LVGL模拟器源码Linux SDL2驱动(用于显示lvgl运行的窗口)编译器,一般Linux都有。
笔者水平一般,博客主要作为自己的学习笔记,也借鉴了许多大佬的博客,主要当作自己备忘录使用,不到位的地方也请各位指出。
概述
想要运行模拟器我们只需要:
- LVGL模拟器源码
- Linux SDL2驱动(用于显示lvgl运行的窗口)
- 编译器,一般Linux都有
开始配置
- LVGL模拟器源码
#1:从官方拉取源码
git clone --recursive https://github.com/lvgl/lv_port_pc_vscode
#2:借鉴一篇文章作者的仓库(我用的是这个,懒得折腾先,这个可以直接用)
git clone https://gitee.com/bi_an_gitee/lv_port_pc_vscode_8.3.git
- 安装SDL2驱动
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev
#安装完可以检查一下
sdl2-config --version
初步运行
先用VScode打开源码文件夹:
- 分析目录



2. 初步运行
在终端输入,先清除构建,再编译运行(每次编译前最好先make clean)
make clean
make && ./build/bin/demo

可以看见已经成功运行官方实例了
接下来先讲怎么在Windows的vscode连接虚拟机来进行开发
连接虚拟机开发
这里不多说基础知识,主要实现用vscode远程连接linux服务器将可视化结果回传到本地机器
- 打开MobaXterm的Xserver(一般默认打开),当然其他软件也可以(一般折腾Linux的都会有MobaXterm之类的就不解释可以自行百度)

在Settings->Configuration->X11将X11 remote access选项改选为full
- 修改Windows上的vscode的remote-ssh(插件)设置
添加以下代码
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes


- 修改虚拟机配置文件
在Ubuntu终端输入
sudo vim /etc/ssh/sshd_config
设置这两项为下图配置
X11Forwarding yes
X11UseLocalhost no #禁止将X11转发请求绑定到本地回环地址上
MobaXterm 上的X server启动后默认会监听本地6000端口,X client通过环境变量DISPLAY获取X server服务地址,例如DISPLAY=本机ip地址:0.0代表X server在本机6000端口,DISPLAY=本机ip地址:1.0代表X server在本机6001端口依此类推
给服务器增加DISPLAY环境变量,修改.bashrc文件:
vim ~/.bashrc
在文件中加一句:
export DISPLAY=你的本地主机ip:0.0
最后输入命令生效一下:
source ~/.bashrc
- 运行结果
在vscode上连接虚拟机,编译运行,就能像在Windows上展示画面了,如果没有配置Xserver是看不见的
开发自己的代码
我这里使用的是squareline studio大致画出界面,再使用lvgl模拟器进一步开发
- 我们先导出自己工程的ui文件

- 在模拟器源码根目录创建ui文件夹,把导出的ui文件放进去,并在makefile中包含ui文件夹

- 在main函数中初始化我们的ui代码,把历程的代码注释掉

编译运行,成功运行,但是画面有点不对

- 修改分辨率

其实这里有两个分辨率,我也不是很了解,只是试出来的,附上chatgpt的解答,上面修改的应该是窗口的大小,第二个目前没试出来有什么用
另外这个文件是一些配置,要修改成跟squareline studio里面一样,不然会报错
参考博客
https://www.cnblogs.com/tavonl/p/14769862.html#refer-anchor-4
https://blog.csdn.net/qq_37211777/article/details/135572947
更多推荐



所有评论(0)