首页 教程 开发工具 LVGL在VScode中安装模拟器运行配置笔记教程

LVGL在VScode中安装模拟器运行配置笔记教程

1、LVGL模拟器工程搭建

        LVGL(Light and Versatile Graphics Library,轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。本文主要讲述如何实现在VScode中实现LVGL模拟器环境的搭建运行。

        LVGL在Windows平台下有很多模拟运行的方式,如官方主推的CodeBlocks、Visual Studios等,如下图所为LVGL官方对PC模拟器例举出来的IDE和说明信息。

LVGL在VScode中安装模拟器运行配置笔记教程

        如下图所示,在体验了一下CodeBlocks时,因其IDE软件使用起来体验不友好,界面也不美观,因此转而寻求在VScode下完成LVGL的PC模拟器配置。

LVGL在VScode中安装模拟器运行配置笔记教程

(1)、下载LVGL的官方模拟器项目

lvgl/lv_port_pc_eclipse at release/v8.3 (github.com)LVGL在VScode中安装模拟器运行配置笔记教程https://github.com/lvgl/lv_port_pc_eclipse/tree/release/v8.3

LVGL在VScode中安装模拟器运行配置笔记教程

(2)、下载LVGL源码

lvgl/lvgl at release/v8.3 (github.com)LVGL在VScode中安装模拟器运行配置笔记教程https://github.com/lvgl/lvgl/tree/release/v8.3

LVGL在VScode中安装模拟器运行配置笔记教程

(3)、下载LVGL驱动源码

lvgl/lv_drivers at release/v8.3 (github.com)LVGL在VScode中安装模拟器运行配置笔记教程https://github.com/lvgl/lv_drivers/tree/release/v8.3

LVGL在VScode中安装模拟器运行配置笔记教程

(4)、工程目录建立

LVGL在VScode中安装模拟器运行配置笔记教程

        下载完上述的3个压缩包文件后,打开下载的目录位置,按照以下的4个步骤操作:

①、新建一个文件夹命名为 lvgl_template_v8.3

②、将下载的 lv_port_pc_eclipse-release-v8.3.zip 文件内容解压,并将所有文件复制到 lvgl_template_v8.3 文件目录下

③、将下载的 lv_drivers-release-v8.3.zip 文件内容解压,并将所有的文件复制到 lvgl_template_v8.3 文件夹下的 lv_drivers 目录下

④、将下载的 lvgl-release-v8.3.zip 文件内容解压,并将所有的文件复制到 lvgl_template_v8.3 文件夹下的 lvgl 目录下

        在完成上述的4个步骤后,并删除多余不需要的文件,其文件结构如下图所示

LVGL在VScode中安装模拟器运行配置笔记教程

2、LVGL编译运行环境搭建

(1)、VScode插件安装

        在VScode环境中,LVGL的编译运行需要如下所示的C/C++语言支持包,CMake、CMake Tools,依次安装图中红框中的插件扩展包。

LVGL在VScode中安装模拟器运行配置笔记教程

提醒:因为每个人的设备系统环境是不一样,因此有部分开发者私聊和评论区下留言反馈:以VScode插件形式安装CMake时无法正常编译,如果遇到这个问题,可以尝试下载安装完整的CMake工具软件。

(2)、MinGW环境安装

  • MinGW是建立在gcc和binutils项目上的,用来编译和连接代码,使之运行在windows系统上;
  • 提供c、c++和fortran编译器和相关工具;
  • MinGW=Minimalist GNU for Windows;
  • MinGW使用微软的运行库,生成Windows下的代码;

        在工程中,使用MinGW用于CMake编译LVGL模拟器中的程序文件。

        下载MinGW64包:MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64/mingw-w64-release at SourceForge.netLVGL在VScode中安装模拟器运行配置笔记教程https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/

LVGL在VScode中安装模拟器运行配置笔记教程

        将下载的MinGW目录解压打开后,其文件结构如下图所示。

LVGL在VScode中安装模拟器运行配置笔记教程

        将其这个工具文件夹目录下的二进制文件bin目录添加到环境变量中。

LVGL在VScode中安装模拟器运行配置笔记教程

LVGL在VScode中安装模拟器运行配置笔记教程

        打开命令行,在输入gcc -v,可以查看MinGW的环境变量设置是否成功

LVGL在VScode中安装模拟器运行配置笔记教程

(3)、SDL2环境安装

        SDL2,全称为Simple DirectMedia Layer,是一个跨平台的多媒体开发库。SDL2提供了一系列函数,用于访问音频、键盘、鼠标、游戏杆和图形硬件,允许开发者编写一套代码即可在不同平台上运行。它的主要应用之一是游戏开发,许多知名游戏都是基于SDL2构建的。此外,SDL2也用于游戏开发工具、模拟器、样本演示和多媒体应用等。

        在本文中的LVGL就是使用了SDL2模拟一个显示触摸屏操作。

        下载SDL2支持文件:Releases · libsdl-org/SDL · GitHubSimple Directmedia Layer. Contribute to libsdl-org/SDL development by creating an account on GitHub.LVGL在VScode中安装模拟器运行配置笔记教程https://github.com/libsdl-org/SDL/releases/

LVGL在VScode中安装模拟器运行配置笔记教程        将下载的SDL2支持包解压,并将cmake和x86_64-w64-mingw32复制到安装MinGW的路径下

LVGL在VScode中安装模拟器运行配置笔记教程

        否则编译时CMake会找不到依赖文件导致报错。且将x86_64-w64-mingw32中的SDL2.dll文件复制一份,后面运行模拟器时,如果缺少此文件无法运行。

3、LVGL工程编译运行

(1)、在VScode中打开LVGL工程

LVGL在VScode中安装模拟器运行配置笔记教程

        如果是CMake工程,打开工程文件时,VScode的最下面一栏会自动出现CMake工程的操作按键。

LVGL在VScode中安装模拟器运行配置笔记教程

(2)、CMake编译运行程序

        如下图所示LVGL的程序正常正常编译运行,且模拟器中也出现了一个窗口,到了这一步说明在VScode下,LVGL模拟器配置正常。

LVGL在VScode中安装模拟器运行配置笔记教程

(3)、解决编译通过,无法运行

LVGL在VScode中安装模拟器运行配置笔记教程

        如上图所示,说明前面的环境安装是正常的,但运行时,出现报错,不能正常运行并出现一个LVGL的模拟器窗口。如果出现这种情况,说明是SDL2这个媒体库没有链接到,需要进入到此复制到MinGW路径下,将SDL2.dll这个动态库文件拷贝到LVGL工程中的bin目录下,方可实现LVGL模拟器的正常运行。

LVGL在VScode中安装模拟器运行配置笔记教程

        然后,每次编译完时,手动将SDL2.dll文件复制到 bin目录下,或者修改顶层的CMakeLists.txt文件,让其编译时自动拷贝SDL2.dll文件到bin目录下。

# 拷贝SDL2.dll 文件到 bin目录下

file(COPY SDL2.dll DESTINATION ../bin)

LVGL在VScode中安装模拟器运行配置笔记教程

        完成后,再次运行,即可正常出现LVGL的模拟器界面。

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.18k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.23k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.16k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.09k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  489

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  315

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。