当前位置: 首页 > news >正文

基于WSL2的LVGL PC模拟器+开发环境搭建指南(Vscode版)

前言

在开发LVGL过程中,我们经常需要进行调试,而模拟器就是调试的必备工具,我日常适用的IDE是vscode,使用vscode的调试和任务功能,可以提高我们开发LVGL的效率,下面列出模拟器的搭建步骤以及如何使用tasks来加快build和run过程。

步骤

LVGL模拟器搭建

克隆项目

克隆项目

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

使用vscode选择从文件打开工作区,打开项目的simulator.code-workspace文件,进入工作区。安装工作区推荐的插件。

打开wsl2,安装以下几个包:

# 更新软件列表
sudo apt update# 更新软件包
sudo apt upgrade# 安装模拟器运行所需的包
sudo apt install -y build-essential libsdl2-dev cmake openjdk-17-jdk openjdk-17-jre golang-go gdb

点击vscode的调试,点击Debug LVGL demo with gdb,即可运行lvgl模拟器。

image

运行效果如下:

image

运行tasks

运行tasks非常简单,下面是官方提供的tasks配置:

"tasks": {"version": "2.0.0","tasks": [{"label": "Build","command": "cmake","args": ["--build", "${command:cmake.buildDirectory}"],"group": {"kind": "build","isDefault": true},"problemMatcher": {"owner": "cpp","fileLocation": ["relative", "${workspaceFolder}"],"pattern": {"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file": 1,"line": 2,"column": 3,"severity": 4,"message": 5}}},{"label": "Build and Run","type": "shell","command": "${workspaceFolder}/bin/main","group": {"kind": "test","isDefault": true},"dependsOn": "Build"}]
}

按 F1 键,在输入框输入 run task,选择Build and Run,即可快速编译并运行代码。

 

image

总结

以上就是如何在windows的wsl2上,在vscode运行LVGL模拟器和跑代码的过程。不过开发LVGL有个缺点就是不支持实时刷新,也就是热更新,之前在开发前端应用,不管是小程序、web还是移动端,都是支持热更新的,热更新可以大大加快开发效率,目前网上还没有找到LVGL热更新的相关教程,后续会持续关注该问题。

http://www.jsqmd.com/news/444642/

相关文章:

  • 从开发到投产仅用6小时:MCP本地数据库连接器CI/CD流水线标准化部署全流程,含Ansible脚本开源
  • CI/CD 发展史
  • 2026数据线工厂最新推荐榜单:专业USB数据线制造商综合测评,中小企业高性价比选型参考 - 博客湾
  • NS-USBLoader:Switch文件管理与跨平台传输全攻略
  • UML-网上图书销售系统顺序图实战:从理论到PlantUML代码生成
  • OpenClaw必装Skill全指南
  • 2026年钢筋网片厂家精选:三大实力供应商深度评估 - 2026年企业推荐榜
  • 实战指南:基于Docker Compose的Tailchat私有化部署与配置优化
  • MCP Sampling调用流全解析,从Client Init到Server Callback的8个关键节点与4个必踩坑点
  • DeOldify模型服务化:使用Docker容器化部署与Kubernetes编排
  • 丹青识画实战:为你的旅行照片自动生成诗意描述
  • CYBER-VISION零号协议操作系统概念讲解:虚拟化与资源管理模拟
  • XHS-Downloader:4大功能模块实现小红书无水印内容高效采集
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI与MATLAB集成:科学计算问题的自然语言交互界面
  • BEYOND REALITY Z-Image跨平台部署:NVIDIA/AMD/Mac M系列统一镜像方案
  • 春联生成模型-中文-base效果展示:对比人工撰写春联在传播力与接受度测试
  • Arcgis流域提取:从DEM镶嵌到阈值设定的避坑指南
  • QGC地面站二次开发实战:飞行操作核心模块深度解析
  • Rust高性能服务:Qwen3-TTS的异步推理接口
  • 突破语言壁垒:Degrees of Lewdity汉化版本地化完全指南
  • Python 3.15 JIT编译器实测提速47.3%?揭秘LLVM后端深度配置与字节码热路径优化
  • 基于TikZ绘图的论文封面自动换行长标题与下划线精准对齐方案
  • Hunyuan-MT 7B翻译镜像体验:Streamlit宽屏可视化,操作简单直观
  • Ostrakon-VL-8B复杂图表理解能力深度评测报告
  • 3大方案解决GitHub语言障碍:给中文开发者的界面中文化实战指南
  • MCP Sampling接口调用链路全图解:从HTTP Request头字段到Token生命周期终止的5大关键节点,你漏掉了哪一环?
  • LAVFilters:高性能媒体处理的DirectShow解决方案
  • logstash定时同步elasticsearch数据 - Leonardo
  • 基于微信小程序与SenseVoice-Small的实时语音笔记应用开发
  • 基于CH224的Type-C PD受电端电路设计实战:从协议解析到PCB布局