使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装

这篇具有很好参考价值的文章主要介绍了使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装

受限于每篇文章最多只能贴9张图的限制,这个教程被拆分成了多篇文章连载发布,完整目录结构如下图x所示。后续会发布完整教程的pdf文件,敬请期待。
使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x 完整教程文档的目录

LVGL和GUI Guider简介

LVGL是一个开源免费(MIT许可)的嵌入式GUI组件(https://lvgl.io/),支持触摸屏操作,移植简单方便,开发者一直在不断完善更新。

LVGL的作者是来自匈牙利的Gabor Kiss-Vamosikisvegabor,LVGL用C语言编写,以实现最大的兼容性(与C ++兼容),模拟器可在没有嵌入式硬件的PC上启动嵌入式GUI设计,同时LVGL作为一个图形库,它自带着接近三十多种小工具可以供开发者使用。这些强大的构建块按钮搭配上带有非常丝滑的动画以及可以做到平滑滚动的高级图形,同时兼具着不高的配置要求以及开源属性,显著的优势使得LVGL蔚然成风,成为广大开发者在选择GUI时的第一选择。

LVGL自带了丰富的控件:窗口、按键、标签、列表、图表等,还可以自定义控 件;支持很多特效:透明、阴影、自动显示隐藏滚动条、界面切换动画、图标打开关闭动画、平滑的拖拽控件、分层显示、反锯齿、仅耗少量内存的字体等等。

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x 在MCU开发板上适配LVGL

同LVGL应用场景类似的主流的嵌入式GUI组件还有emWin、TouchGFX等,相比较而言,LVGL对于开发者更加友好,对比典型指标如表x所示。

表x 主流嵌入式GUI的关键指标对比
LVGL emWin TouchGFX
商业使用 免费 收费 收费
可移植性 多平台 多平台 主要为STM32
开源程度 源码开源 不开源 部分开源
组件丰富度 三十几种控件 二十几种控件 丰富
开发文档 较为丰富 较为丰富 一般

由于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 Guilder Square Line Studio LVGL Windows Simulater
使用难度 功能丰富,上手简单 较为复杂 功能一般
功能丰富度 功能丰富 功能丰富 功能单一
可视化设计 支持 支持 不支持
开发文档 一般 较为丰富 一般
同步调试 支持 不支持 支持

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所示。
使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图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存储芯片。

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x BIRD-F5开发板

BIRD-F5开发板以MM32F5277E9PV为主控芯片,集成了FPC插座,可以组装TFT显示屏模块,将MM32F5270芯片上的FSMC接口同TFT液晶屏对接通信,如图x所示。

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x 组装TFT模块后的BIRD-F5开发板
  • MM32F5270微控制器的产品主页:https://www.mindmotion.com.cn/products/mm32mcu/mm32f/mm32f_performance/mm32f5270/

  • BIRD-F5开发板的KiCAD项目工程(包含原理图):https://gitee.com/suyong_yq/lvgl-gui-guider-dev/tree/master/bird-f5_lvgl_v8/hardware/bird-f5_v1.3

  • 灵动微电子官方发布的PLUS-F5270开发板的购买链接:https://item.taobao.com/item.htm?spm=a230r.1.14.1.664025d1Z2SRxb&id=675495302966

  • ST7796U TFT液晶模块购买链接:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.40ce2e8dBpnWJx&id=521624918530

在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的产品主页:https://www.nxp.com/design/software/development-software/gui-guider:GUI-GUIDER

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x GUI Guider的产品主页

从GUI Guider的产品主页上,可以获取GUI Guider软件的下载链接,例如:https://cache.nxp.com.cn/secured/bsps/Gui-Guider-Setup-1.5.1-GA.exe

运行GUI Guider需要配置JDK,如果本机上没有JDK,启动GUI Guider后会有提示。如图x所示。

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x GUI Guider提示安装JDK

可以使用开源的OpenJDK即可。OpenJDK的下载地址:https://learn.microsoft.com/zh-cn/java/openjdk/download。

在安装OpenJDK的过程中,切记要将JDK的可执行文件的路径添加到开发主机系统的环境变量中。如图x所示。安装OpenJDK的最后步骤中,可能也有自动添加系统环境变量的操作选项,也可勾选其中,自动完成添加。

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x 配置JDK路径到系统环境变量

安装GUI Guider和OpenJDK完毕后,运行GUI Guider软件,可以进入图形UI编辑界面。如图x所示。
使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装,GUI,单片机,嵌入式硬件

图x 启动GUI Guider软件

(未完待续。。。)文章来源地址https://www.toymoban.com/news/detail-649297.html

到了这里,关于使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MCU嵌入式开发-硬件和开发语言选择

    主要考虑以下方面来决定是否需要RTOS支持: 需要实现高响应时的多任务处理能力 需要实现实时性能要求高的任务 需要完成多个复杂的并发任务 具备满足工控系统实时性要求的各项功能特性。通过它提供的硬件库、线程支持、中断支持等,可以完全控制微控制器的各个外设,实

    2024年02月12日
    浏览(38)
  • 《嵌入式 - 工具》J-link读写MCU内部Flash

    J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4, Cortex A5/A8/A9等内核芯片的仿真,是学习开发ARM最好最实用的开发工具。 J-link 软件包的工具很多,有J-Flash,J-Link Commander,J-Link G

    2024年02月16日
    浏览(41)
  • 【嵌入式】Linux开发工具arm-linux-gcc安装及使用

    宿主机 执行编译、链接嵌入式软件的计算机 目标机 运行嵌入式软件的硬件平台 “本地”编译器 用来生成在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,例如 Windows 环境生成 Windows 目标代码。 交叉编译器 用来生成在其它平台上运行的目标代

    2024年01月17日
    浏览(45)
  • 嵌入式软件开发常用的编辑代码工具、比较工具和测试工具的使用说明和操作步骤

    嵌入式软件开发常用的编辑代码工具有: Eclipse Eclipse是一款开源的集成开发环境,支持多种编程语言和插件,适用于多种嵌入式开发平台。以下是Eclipse的使用说明和操作步骤: 步骤1:创建新工程 单击“File”菜单,选择“New”→“Project”选项,选择工程类型和开发平台。

    2024年02月02日
    浏览(80)
  • 【面试集锦 - 嵌入式软件工程师 - MCU篇】

    一般会问一下使用的芯片是什么,并对其做一些介绍。 嵌入式系统常用的微控制器单元(MCU)是一种集成了处理器核心、存储器、输入/输出接口和其他外设功能的芯片。它们被广泛应用于各种嵌入式系统,如家电、汽车、医疗设备、工业自动化等领域。以下是一些常见的嵌

    2024年02月06日
    浏览(67)
  • 嵌入式中的MCU、ARM、DSP、FPGA

    目录 “角色扮演” MCU ARM 特点 DSP 特点 FPGA 特点 应用           MCU(Microcontroller Unit)、ARM(Advanced RISC Machine)、DSP(Digital Signal Processor)和FPGA(Field-Programmable Gate Array)都是在嵌入式系统中常见的硬件组件,它们在嵌入式系统中扮演不同的角色。         1. 

    2024年02月08日
    浏览(45)
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)

    https://www.cnblogs.com/henjay724/p/13770137.html 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 J-Link工具下i.MXRT的串行NOR Flash下载算法设计 。 在i.MXRT硬件那些事系列之《在串行NOR Flash XIP调试原理》一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并

    2024年02月09日
    浏览(35)
  • 嵌入式系统基础 单片机MCU 树莓派 飞控 cpu

    一些有趣的软硬件设计 嵌入式与linux shell 单片机 电机控制 基于树莓派和Arduino制作的多种移动机器人 Altium Designer 导出pcb制作文件 cpu 浮点峰值 先来谈一下ARM的发展史:1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridg

    2024年02月11日
    浏览(46)
  • 嵌入式设备中的SoC与MCU的区别深度解析

    嵌入式设备中的SoC与MCU的区别深度解析 在嵌入式系统中,SoC(System-on-a-Chip)和MCU(Microcontroller Unit)是两种常见的处理器架构。尽管它们都用于嵌入式应用,但它们在设计、功能和性能方面存在一些显著的区别。本文将深入解析SoC和MCU之间的区别,并提供相应的源代码示例。

    2024年03月23日
    浏览(32)
  • ESP32 移植 AWTK(嵌入式GUI库)

    最近了解到有一个叫AWTK的嵌入式GUI库,是ZLG(周立功)开发的一个开源免费可商用的嵌入式GUI库。手头上刚好有一个自己最近设计的ESP32测试板,型号是ESP32_WROOM_32,和一个0.96寸80x160的TFT屏,就想着能不能把这个AWTK库移植到ESP32上玩一下。于是,我又开始给自己挖坑了。 这次移

    2024年01月22日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包