【LVGL快速入门】LVGL开源框架入门教程之框架移植(一)

简介: LVGL开源框架入门教程之框架移植(一)

一.学习背景

       LVGL是一款开源的嵌入式GUI框架。轻量级和灵活性是其著有的特征。我们在开发如智能手表,仪器表盘时可以采用这个框架。

二.移植LVGL

       在移植之前我们要确保我们的硬件芯片符合移植的要求,以下表为标准:


Name Minimal Recommended

Architecture 16, 32 or 64 bit microcontroller or processor

Clock > 16 MHz > 48 MHz

Flash/ROM > 64 kB > 180 kB

Static RAM > 16 kB > 48 kB

Draw buffer > 1 ×hor. res. pixels > 1/10 screen size

Compiler C99 or newer

        首先,要在官方开源地址下下载LVGL的源文件。


       这里给出官方下载链接:GitHub - lvgl/lvgl: Embedded graphics library to create beautiful UIs for any MCU, MPU and display type.


        作为初学者的话我们一般选择V8.3版本的,适用范围广,教程相对多。


   下载解压后我们可以得到:

       然后我们在另一个目录下新建一个文件夹,在这个文件夹中复制我们需要移植的一些文件,这里我们只需要以下文件夹:

       同时我们将“lv_conf_template.h”改为“lv_conf.h”和以下地址中的文件后的“_template”也去掉。

更改后如下:




       紧接着我们需要创建一个工程并将LVGL库文件移植进去我们的工程。这里以CubeMX创建的STM32F407VET6的工程为例。


       我们向空工程的文件夹中添加“lvgl”文件夹(注意这里最好使用小写目录名,下面创建的任何东西都建议小写,只是建议,并无太大影响!!!),并向其中复制我们刚才改好的文件,如下:


               完成以上之后我们就可以开始正式进入Keil配置工程项了,进入工程管理界面,添加以下文件组:




文件夹名称 (Groups) 用于存放什么文件

LVGL_myGui 用户自己的界面代码文件、官方demo等

LVGL_conf LVGL 的两个h文件

LVGL_porting LVGL 的接口文件, 如显示、触摸屏、键盘等

LVGL_src LVGL 的所有底层c文件

完成后最好编译一下以免有错误。


注意以下为最重要的步骤,向刚才创建的工程组中分别添加文件,具体如下:


组 文件

LVGL_myGUI 个人文件,暂不需添加。

LVGL_conf LVGL根目录中的lv_conf.h、lvgl.h

LVGL_porting LVGL/ examples / porting中的“lv_port_disp.c 、lv_port_disp.h、 lv_port_indev.c、lv_port_indev.h”

LVGL_src LVGL/ src目录下的所有.c文件(注意:这里是所有.c文件,包括所有子目录下的和src根目录下的)(笔者数了一下,大概是201个,读者可自己数一下)

添加完以后如下(src未展示完全):

下一步,注意将C99勾选上

向头文件中添加这几个文件夹:

此时可以再编译一次,若没有错误则算成功。

相关文章
|
1天前
|
调度
【LVGL快速入门】LVGL开源框架入门教程之框架移植(四)
【LVGL快速入门】LVGL开源框架入门教程之框架移植(四)
|
1天前
【LVGL快速入门】LVGL开源框架入门教程之框架移植(三)
【LVGL快速入门】LVGL开源框架入门教程之框架移植(三)
|
1天前
【LVGL快速入门】LVGL开源框架入门教程之框架移植(二)
【LVGL快速入门】LVGL开源框架入门教程之框架移植(二)
|
2月前
|
定位技术 C# 图形学
从零开始的unity3d入门教程(二)----基本功能讲解
这是一篇Unity3D入门教程,详细介绍了Unity界面操作、游戏物体创建修改、场景搭建、玩家控制、音效添加以及游戏测试和导出的全过程。
从零开始的unity3d入门教程(二)----基本功能讲解
|
1月前
|
API 开发工具 Android开发
从安装到打包,手把手教你如何在Uno Platform上部署跨平台应用——一篇详尽的开发者指南
【9月更文挑战第7天】Uno Platform 是一个跨平台应用开发框架,利用UWP API构建Web、iOS、Android等多平台应用。本文详述了安装Uno Platform SDK、配置项目支持跨平台、添加主方法以及使用命令行工具进行应用打包的过程,助您快速上手 Uno Platform 并部署应用。通过简单的代码示例,让开发者轻松掌握从安装到发布的核心步骤。
99 2
|
2月前
|
开发者 C# UED
如何轻松将WinUI控件引入Web应用?Uno Platform实战攻略——从环境搭建到性能优化,一探究竟!
【8月更文挑战第31天】Uno Platform 通过支持 WebAssembly,将 WinUI 控件无缝带入 Web,为多平台开发提供了新途径。本文介绍如何在 Web 中使用 WinUI 控件,包括环境搭建、控件使用、性能优化、样式调整及测试调优,助力开发者打造高质量跨平台应用。
46 0
|
5月前
|
UED C++ Python
GUI开发入门指南
GUI开发入门指南
|
5月前
|
缓存 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
524 0
|
传感器 编解码 缓存
实战贴:开源GUI LittlevGL在MCU上的移植
实战贴:开源GUI LittlevGL在MCU上的移植
229 2
|
JavaScript 开发工具 开发者
openHarmony开发环境搭建
从今天开始正式写openHarmony相关的文章,经过一段时间的沉淀,学习之路漫漫,不断地学习才是王道,熟话说万事开头难,安装软件应该是学习的第一道坎,废话不多说了,看内容了~~
307 0
openHarmony开发环境搭建