基于Codeblock的LVGL模拟器Windows平台环境搭建[带源码]

基于Codeblock的LVGL模拟器Windows平台环境搭建

概述

最近在折腾使用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;
  1. 刚开始是准备省点事,尝试用VSCode来运行,但是他的工程使用makefile来编译,其中的部分命令没法直接在windows下make,会报错,有解决办法是使用Msys在bash下执行make,但是我没有成功,后面有机会再深入研究Msys吧。

  2. 其次就是MDK工程,这是一个Keil工程,这是在名为 MPS3 (AN547) 的 Arm 官方 FPGA 原型开发板上运行的 Cortex-M55 的 LVGL ,也可以在名为Corstone-300-FVP的模拟器上运行项目模板,也不是很适合目前需要。

  3. 至于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 提取码: yu3h

2.下载CodeBlock

CodeBlock分为两种,一种是自带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版本的问题,编译也不通过。虽然都是小问题,但是也很搞心态,走前人走过的路还是安心。

猜你喜欢

转载自blog.csdn.net/hmc_123/article/details/128016552