笔者水平一般,博客主要作为自己的学习笔记,也借鉴了许多大佬的博客,主要当作自己备忘录使用,不到位的地方也请各位指出。

概述

想要运行模拟器我们只需要:

  1. LVGL模拟器源码
  2. Linux SDL2驱动(用于显示lvgl运行的窗口)
  3. 编译器,一般Linux都有

开始配置

  1. 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


  1. 安装SDL2驱动
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev

#安装完可以检查一下
sdl2-config --version

初步运行

先用VScode打开源码文件夹:

  1. 分析目录
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
2. 初步运行
在终端输入,先清除构建,再编译运行(每次编译前最好先make clean)

make clean
make && ./build/bin/demo

在这里插入图片描述
可以看见已经成功运行官方实例了
在这里插入图片描述

接下来先讲怎么在Windows的vscode连接虚拟机来进行开发

连接虚拟机开发

这里不多说基础知识,主要实现用vscode远程连接linux服务器将可视化结果回传到本地机器

  1. 打开MobaXterm的Xserver(一般默认打开),当然其他软件也可以(一般折腾Linux的都会有MobaXterm之类的就不解释可以自行百度)

在这里插入图片描述
在Settings->Configuration->X11将X11 remote access选项改选为full
在这里插入图片描述

  1. 修改Windows上的vscode的remote-ssh(插件)设置
    添加以下代码
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes

在这里插入图片描述
在这里插入图片描述

  1. 修改虚拟机配置文件
    在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
  1. 运行结果
    在vscode上连接虚拟机,编译运行,就能像在Windows上展示画面了,如果没有配置Xserver是看不见的
    在这里插入图片描述

开发自己的代码

我这里使用的是squareline studio大致画出界面,再使用lvgl模拟器进一步开发

  1. 我们先导出自己工程的ui文件

在这里插入图片描述

  1. 在模拟器源码根目录创建ui文件夹,把导出的ui文件放进去,并在makefile中包含ui文件夹
    在这里插入图片描述
  2. 在main函数中初始化我们的ui代码,把历程的代码注释掉
    在这里插入图片描述
    编译运行,成功运行,但是画面有点不对

在这里插入图片描述

  1. 修改分辨率
    在这里插入图片描述
    其实这里有两个分辨率,我也不是很了解,只是试出来的,附上chatgpt的解答,上面修改的应该是窗口的大小,第二个目前没试出来有什么用
    在这里插入图片描述

另外这个文件是一些配置,要修改成跟squareline studio里面一样,不然会报错
在这里插入图片描述

参考博客
https://www.cnblogs.com/tavonl/p/14769862.html#refer-anchor-4
https://blog.csdn.net/qq_37211777/article/details/135572947

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐