lvgl是一个开源免费(mit许可)的嵌入式gui组件,支持触摸屏操作,移植简单方便,开发者一直在不断完善更新。
lvgl的作者是来自匈牙利的gabor kiss-vamosikisvegabor,lvgl用c语言编写,以实现最大的兼容性(与c ++兼容),模拟器可在没有嵌入式硬件的pc上启动嵌入式gui设计,同时lvgl作为一个图形库,它自带着接近三十多种小工具可以供开发者使用。这些强大的构建块按钮搭配上带有非常丝滑的动画以及可以做到平滑滚动的高级图形,同时兼具着不高的配置要求以及开源属性,显著的优势使得lvgl蔚然成风,成为广大开发者在选择gui时的第一选择。
lvgl自带了丰富的控件:窗口、按键、标签、列表、图表等,还可以自定义控 件;支持很多特效:透明、阴影、自动显示隐藏滚动条、界面切换动画、图标打开关闭动画、平滑的拖拽控件、分层显示、反锯齿、仅耗少量内存的字体等等。
同lvgl应用场景类似的主流的嵌入式gui组件还有emwin、touchgfx等,相比较而言,lvgl对于开发者更加友好,对比典型指标如表x所示。
表x 主流嵌入式gui的关键指标对比
由于lvgl被广泛应用,也衍生了一些以lvgl为基础的开发工具,便于嵌入式系统开发者自定义自己的gui应用。例如 gui guider、square line studio、lvgl windows simulater等。其中:
square line studio是lvgl官方开发工具,面向个人和专业人士的ui编辑器,可快速轻松地为您的嵌入式设备设计和开发漂亮的ui,便捷地设计界面并一键生成代码导出,导出的代码在模拟器和嵌入式设备上都适用,但该软件商业使用需要付费。lvgl windows simulater是lvgl官方提供的轻量级的仿真器,使用 gnu gcc 编译器和 sdl 驱动库或 windows api 在 pc 机上绘制界面,但需要用户自行编写源码设计ui。相对而言,gui guider开源,并且支持图形环境的设计和仿真功能,最具符合开发者全面需求。表 x 常用lvgl模拟器的关键指标对比
gui guider是恩智浦提供的用户友好型图形用户界面开发工具,可通过开源lvgl图形库快速开发高品质的显示。gui guider的拖放编辑器可以轻松利用lvgl的众多特性,如小部件、动画和样式来创建gui,而只需少量代码或根本无需任何代码。单击按钮,您可以在模拟环境中运行应用或将其导出到目标项目。可以很轻松地将gui guider生成的代码添加到mcuxpresso ide或iar embedded workbench项目中,从而加速开发过程,并允许无缝地将嵌入式用户界面添加到应用中。
gui guider是nxp公司推出的一款用户友好的嵌入式图形应用开发工具。它使用开源lvgl图形库作为底层图形引擎,提供可视化所见即所得的拖放ui编辑器,能够快速、轻松地为嵌入式应用程序创建漂亮的图形用户界面。图形设计师能够直接使用gui guider创建ui,并将已经工作的ui交付给软件开发人员,而软件开发人员只需专注于底层业务逻辑开发。通过这种方式,gui guider可以支持个人或者团队高效地协同工作。gui guider的软件界面,如图x所示。
figure-gui-guider-layout-overview
图x gui guider的软件界面
准备带有显示屏的开发板本例使用基于国产灵动微电子“星辰”处理器内核系列的mcu产品,mm32f5270/mm32f5280,设计的开发板bird-f5,配合st7796u的3.5寸tft液晶显示屏模块。任何可以连接液晶显示模块的开发板均可用于开发lvgl,只要开发者预先适配好具体的液晶屏驱动,以及在具体开发板上做好lvgl工程的移植,后续开发图形界面的工作将全部在gui guider环境中进行开发,同具体的开发板和显示模块无关。
mm32f5270微控制器使用armchina的star-mc1处理器内核(基本兼容arm cortex-m33内核),最高主频可达120mhz,片内集成192kb的sram(128kb的sram、32kb的 itcm 和32kb的 dtcm )和 256kb 的 flash,以及包括 fsmc 在内的众多外设模块。mm32f5280在mm32f5270的基础之上,在qspi接口上合封了一块2mb容量的qspiflash存储芯片。
bird-f5开发板以mm32f5277e9pv为主控芯片,集成了fpc插座,可以组装tft显示屏模块,将mm32f5270芯片上的fsmc接口同tft液晶屏对接通信
在pc上安装gui guider理想情况下,基于mcu的ui应用的开发,重点应该放在ui的设计上,而mcu相关的开发工作,只是为ui软件提供一个运行环境。如此,在本例中搭建的软件开发环境,也主要分为两个部分:搭建基于mcu的ui应用运行环境,搭建基于pc的ui应用开发环境。这里的准备工作,需要创建一个包含了能够支持gui guider源码的mcu的源码工程,当在gui guider中编辑好ui素材,对应生成的源码可以被直接集成到mcu工程中,编译并能够在具体的开发板上运行。
本例中搭建嵌入式gui开发环境(基于windows操作系统)需要安装如下软件工具包:
keil mdk - mcu源码项目的编译和下载工具一个移植好lvgl的mcu源码工程,可以点亮液晶屏gui guider - 基于pc机的生成ui源码的软件工具登录nxp官网,在搜索栏中输入gui guider即可找到gui guider工具的软件包,目前可以运行在windows、linux和macos等多种操作系统。
运行gui guider需要配置jdk,如果本机上没有jdk,启动gui guider后会有提示。如图x所示。
figure-gui-guider-startup-6
图x gui guider提示安装jdk
可以使用开源的openjdk即可。
在安装openjdk的过程中,切记要将jdk的可执行文件的路径添加到开发主机系统的环境变量中。如图x所示。安装openjdk的最后步骤中,可能也有自动添加系统环境变量的操作选项,也可勾选其中,自动完成添加。
figure-gui-guider-install-openjdk-syspath
图x 配置jdk路径到系统环境变量
安装gui guider和openjdk完毕后,运行gui guider软件,可以进入图形ui编辑界面。如图x所示。
figure-gui-guider-startup-1
图x 启动gui guider软件
至此,安装gui guider软件的过程全部完成。在下文中将介绍如何准备能够适配gui guider软件生成源码的mcu工程。
为什么说物联网是地产行业的有力推手
白话科普:深入浅出解读高通骁龙888
智造+质造—RK3568赋能激光打标机领域升级改革
智能音响的究极形态:音响行业再添悍将 大屏与安卓系统深度结合
汽车传动系,汽车底传动系是什么意思
使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1)
水泥电阻有什么用_水泥电阻的作用介绍
新iPhone采用7nm制程工艺的A12芯片,领先于对手
微软中国与蔚领时代达成战略合作 探索云游戏产业的全球构建
领贝扫地机器人搭载奥比中光自研dToF激光雷达实现毫米级智能建图避障
节能型瞬间高功率输出解决方案
TPP 450B 系列 — 我们推出了全新的 II 级防护型号产品,拓展 TPP 450 系列的产品范围
电动机绕组接线口诀_电动机绕组接线做法
RFID印刷天线技术存在怎样的价值
如何才能提高计算机视觉的精确度?并让它发挥更大的作用呢?
MS-DETR和其他SOTA方法的对比
糖果猫手机应用试玩平台 下载APP赚取广告分成
Ikanos与picoChip共同推进家庭基站市场
液晶面板国产化加速,和成显示未来三年仍将持续受益
AWE 2023上海展直击:康盈半导体全明星阵容亮相 智慧生活芯场景备受关注