基于Codeblock的LVGL模拟器Windows平台环境搭建[带源码]
基于Codeblock的LVGL模拟器Windows平台环境搭建文章目录基于Codeblock的LVGL模拟器Windows平台环境搭建概述一、介绍二、使用CodeBlock版本方法以及需要注意的坑1、下载lvgl模拟器仓库2.下载CodeBlock3.运行工程总结概述最近在折腾使用ESP32基于Arduino运行lvgl但是Arduino编译esp32的速度属实着急至少5分钟一次稍微复杂点能上十分钟属实折磨在开发的时候及其影响效率还是需要一个模拟器这里记录下折腾模拟器踩过的坑。一、介绍LVGL的模拟器分为以下版本带有 SDL 驱动程序的 Eclipse推荐在 Linux 和 Mac 上使用;CodeBlock推荐在 Windows 上;带有 SDL 驱动程序的 VisualStudio适用于 Windows;带有 SDL 驱动程序的 VSCode推荐在 Linux 和 Mac 上使用;带有 SDL 驱动程序的 PlatformIO推荐在 Linux 和 Mac 上使用;MDK with FastModel 适用于 Windows刚开始是准备省点事尝试用VSCode来运行但是他的工程使用makefile来编译其中的部分命令没法直接在windows下make会报错有解决办法是使用Msys在bash下执行make但是我没有成功后面有机会再深入研究Msys吧。其次就是MDK工程这是一个Keil工程这是在名为 MPS3 AN547 的 Arm 官方 FPGA 原型开发板上运行的 Cortex-M55 的 LVGL 也可以在名为Corstone-300-FVP的模拟器上运行项目模板也不是很适合目前需要。至于CodeBlock则是很友好的如果安装自带MinGW的版本甚至不需要配置编译环境就能直接运行省时省力省心。二、使用CodeBlock版本方法以及需要注意的坑1、下载lvgl模拟器仓库首先我们从Github仓库将lv_port_win_codeblocks下载下来然后解压也可以通过git bash运行命令git clone https://github.com/lvgl/lv_sim_codeblocks_win.git将工程克隆下来。这时候文件夹里的lvgl以及lvgl_drivers文件夹是空的根据Github的说明在clone以后需要从文件夹内执行git submodule update --init --recursive从指定的仓库把指定版本的文件拷贝到对应的文件夹如果git比较慢直接使用git bash执行命令可能很费时间而且会报错也可以从文件夹内的.gitmodules文件中获取到该文件的git地址手动进行下载并解压复制到对应的文件夹。但是这里存在一个坑链接指向的仓库中的文件是最新版本而这个模拟器能使用的并不是最新版本其对应的版本如下图中文件夹名的后缀解决方法是直接在lv_port_win_codeblocks界面下点击上图的两个文件夹(直接点后面的蓝链就可以)这时候跳转到的就是正确版本的lv_drivers以及lvgl目录在这里进行手动下载然后解压即可。最后文件形式如下当然考虑到可能有访问github不方便的朋友这里放出已经打包好的代码包链接: https://pan.baidu.com/s/1TSPto9dObhgGgW8ErJcx-g 提取码: yu3h2.下载CodeBlockCodeBlock分为两种一种是自带MinGW编译器的一种是不带的不带的需要自己手动下载MinGW并且配置到CodeBlock里而且有很大概率编译报错因此建议下载自带MinGW的版本*点击这里下载64位CodeBlock。下载完成后修改安装路径其他默认安装即可需要打勾选择的地方全都保持默认安装完成后去安装的文件夹里确认是不是有MinGW。然后打开软件点击Setting - Compiler检查编译器路径因为如果系统环境变量里有MinGW它可能会优先选择系统的编译器确保配置如上图所示。3.运行工程如同常规软件导入工程一样File - Open - LittlevGL.cbp将cbp格式的工程文件打开。在Source目录下的mian.c就相当于单片机的main.c也是有一个预先配置初始化等随后在while 1循环里定时更新lvgl调度器循环外面的绘制控件的函数可以对其进行修改。然后点击黄色小齿轮编译等待一段时间后如果一切正常不会报红色Error只有几个warning这个无关紧要随后运行即可。默认运行的是widget_demo一个的经典演示界面至此完成lvgl模拟器的配置。总结其实按照官网建议来能一切顺利我是因为前期不想装codeblock想尝试vscode然鹅官网说了只是为Mac和Linux配置的结果浪费几小时没结果如果是采用官方推荐的CodeBlock就只用从git拉代码、执行命令克隆文件、装软件、导入执行…轻轻松松。不要中途脑袋一拍去整幺蛾子除非没办法我当时前面因为想着自己有装MinGW就装了不带MinGW的CodeBlock结果编译报错。后面git实在clone不动迫不得已自己找仓库配工程结果没注意lvgl版本的问题编译也不通过。虽然都是小问题但是也很搞心态走前人走过的路还是安心。

相关新闻

云手机怎么选不踩坑? 2026新手最容易忽略的6个细节

云手机怎么选不踩坑? 2026新手最容易忽略的6个细节

到了2026年,云手机的市场已然成熟到了一定程度,品牌数量多得能把人的眼睛看花。然而,越是那种热闹非凡的市场,就越是容易让人掉进陷阱里——像是参数标记虚假、存在隐性收费、出现挂机掉线状况、账号有所关联等情况。新手常常仅仅把目光聚焦在价格以及“几核几G”这些方面,结果…

2026/9/15 0:57:04 阅读更多 →
[具身智能-188]:主流机器人仿真软件通俗讲解(含 Gazebo)

[具身智能-188]:主流机器人仿真软件通俗讲解(含 Gazebo)

主流机器人仿真软件通俗讲解(含 Gazebo)大白话理解:机器人仿真软件 电脑里面造一个虚拟实验室。一类是完整世界模拟器:有场景、光照、各种传感器,虚拟机器人可以跑导航、避障、SLAM;另一类是动力学求解器&…

2026/9/20 14:36:16 阅读更多 →
直流照明|乡村庭院路灯便民低碳照明方案

直流照明|乡村庭院路灯便民低碳照明方案

一.系统概述乡村庭院、村组巷道、乡间小路照明场景具有线路零散、设备运维薄弱、户外暴晒雨淋环境恶劣、夜间人流集中在傍晚时段等特点。传统乡村交流路灯线路架设杂乱、高压隐患大,农村雨季积水、线路老化极易引发漏电事故,且无智能调控,整夜…

2026/9/19 1:50:03 阅读更多 →

最新新闻

Quasar QPopupEdit 组件深度指南:在 QTable 单元格与任意元素上实现原地编辑弹窗

Quasar QPopupEdit 组件深度指南:在 QTable 单元格与任意元素上实现原地编辑弹窗

Quasar QPopupEdit 组件深度指南:在 QTable 单元格与任意元素上实现原地编辑弹窗 【免费下载链接】quasar Quasar Framework - Build high-performance VueJS user interfaces in record time 项目地址: https://gitcode.com/gh_mirrors/qu/quasar QPopupEdi…

2026/9/20 20:44:07 阅读更多 →
Swagger UI 在线验证指南:3 步看懂徽章、Schema 校验与错误标记

Swagger UI 在线验证指南:3 步看懂徽章、Schema 校验与错误标记

Swagger UI 在线验证指南:3 步看懂徽章、Schema 校验与错误标记 【免费下载链接】swagger-ui Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. 项目地址: htt…

2026/9/20 20:44:07 阅读更多 →
Claude Code接入阿里云百炼:环境变量配置与高频排错全攻略

Claude Code接入阿里云百炼:环境变量配置与高频排错全攻略

这个月我干了一件事:把 Claude Code 装到本机上,然后通过阿里云百炼(Bailian)的兼容服务,把请求转到托管的 Claude 模型上跑通。整个过程比我预想的顺,但中间确实踩了几个坑,主要集中在环境变量…

2026/9/20 20:44:07 阅读更多 →
通达信L2资金流向指标编写:大单净流入公式实战

通达信L2资金流向指标编写:大单净流入公式实战

1. 资金流向指标到底在解决什么问题1.1 从“看价格”到“看资金”的认知升级很多人做股票分析,第一步就是看K线、看均线、看MACD,这些指标当然有用,但它们有一个共同的短板——只看结果,不看过程。价格涨了,你知道涨了…

2026/9/20 20:44:07 阅读更多 →
数字化工艺设计与管理:从经验驱动到数据驱动的关键路径

数字化工艺设计与管理:从经验驱动到数据驱动的关键路径

简介:数字化工艺设计与管理是制造业智能化转型中的关键环节。这份由西门子工业软件售前团队编制的概述性PDF,聚焦数字化制造概述与设计工艺一体化管理平台,面向工艺规划、PLM实施及智能制造相关从业者,帮助快速理解数字化制造中的…

2026/9/20 20:44:07 阅读更多 →
DeepSeek Harness 拦截扩展点深度解析:基于类型化 Decision 的 Agent Hook 事件面设计

DeepSeek Harness 拦截扩展点深度解析:基于类型化 Decision 的 Agent Hook 事件面设计

DeepSeek Harness 拦截扩展点深度解析:基于类型化 Decision 的 Agent Hook 事件面设计 【免费下载链接】deepseek-harness DeepSeek Harness: Everything is a Plugin. 项目地址: https://gitcode.com/gh_mirrors/de/deepseek-harness 本文是 DeepSeek Harnes…

2026/9/20 20:43:05 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →