嵌入式人机界面 (HMI) 的设计趋势不断演化。随着产品越来越智能化并提供越来越多的功能,最终用户希望人机界面能够提供有吸引力的体验,并能够轻松访问产品功能。
在您的产品中包含GUI(图形用户界面)将有助于您设计对用户更友好、更安全、更现代化的设备,为最终用户提供更多价值。GUI的关键设计要求是由我们每天都与之互动的设备 - 我们口袋里的智能手机界定的。
准备好开始了吗?
STM32系列提供在嵌入式设备中轻松添加类似智能手机的图形用户界面 (GUI) 所需的工具,加速了“HMI of Things”革命。
STM32 GUI开发套件
面向图形用户界面的STM32包含大量的开发套件、软件示例和演示案例。
每个开发套件随附一个动画演示。每个演示的代码可在相关STM32Cube软件包中获得。
扩展的生态系统支持您的开发工作
显示模块制造商
避免采购您自己的显示套件。从意法半导体的授权合作伙伴中选择一款即时可用的显示模块,并将其应用到您的产品中。
UI工具供应商
多家意法半导体的授权合作伙伴提供面向STM32硬件的GUI开发工具。他们都致力于为您提供支持,确保在STM32上顺利进行GUI开发。
STM32 MCU上的图显
通过GUI实现最佳用户体验
为了设计能够提供卓越用户体验的嵌入式产品,STM32系列提供业界最广泛的支持图形功能的MCU产品(有200多个有源器件编号),支持不同的显示界面和封装选项。支持图形功能的STM32 MCU内嵌不同的特性,允许开发人员实现所需的性能和嵌入式设备所需的优化协调,例如:
- Chrom-ART Accelerator™提供节约内存的2D图形加速,并在分担主CPU的负荷时实现平滑过渡和透明效果
- NeoChrom GPU是STM32上搭载的一种新型2.5D加速器,其中包含大量硬件优化,可实现丰富的UI。这项技术优化了翻转、旋转、缩放和变焦等动画效果。简而言之,这种新型硬件IP能够加速纹理映射和Alpha混合。利用NeoChrom GPU分担这些计算负荷,可极大地增加每秒帧数。
- NeoChrom VG GPU是首款专为矢量图形计算设计的矢量图形加速器。它基于NeoChrom GPU技术构建。
- JPEG编解码器允许您添加M-JPEG视频用于品牌推广和教程
- 快速访问内部和外部内存以避免遭遇瓶颈问题,支持平滑的动画效果
- 大容量内部存储支持单芯片解决方案,无需用于低分辨率显示的外部RAM和Flash存储器。这为系统安全架构、缓冲策略和内存预算带来额外的灵活性
- 支持采用并行接口、LCD-TFT、以及MIPI-DSI嵌入式控制器的大型显示界面
开发GUI需要什么
创建优秀GUI需要的技能和专业知识,涉及许多构建单元 - 开始是选择和采购正确的显示屏和外壳,对菜单和屏幕进行艺术创作,将艺术设计通过编程在用户界面和电控开发中实现,然后将这些点串起来并触发能够将设计变成现实的灵感火花。
我们知道开发GUI是无法避免的。
因此,意法半导体提供十分先进的MCU,再加上开发过程中每一步都需要的工具和技术支持,确保您的GUI项目开发成功。
定义您的需求,然后相应地选择MCU和开发套件
支持图形功能的STM32 MCU产品组合
STM32 GUI开发套件
面向图形用户界面的STM32包含大量的开发套件、软件示例和演示案例。
每个开发套件随附一个动画演示。每个演示的代码可在相关STM32Cube软件包中获得。
下载TouchGFX
什么是TouchGFX?
集成在STM32生态系统中的TouchGFX是一款免费的GUI工具,提供创建高级GUI所需的一切。
TouchGFX在X-CUBE-TOUCHGFX软件包中提供,包括:
- TouchGFX Designer - PC GUI构建工具和模拟器
- TouchGFX Generator - 用于配置和生成TouchGFX项目
- TouchGFX Engine - 经过优化的硬件加速图形库
开始创建自己的GUI
选择示例、观看演示,或通过导入图形化资产从头开始,并使用TouchGFX Designer中的小插件创建自己的GUI应用。
刷新您的设计套件并运行您类智能手机的GUI
将您的开发套件连接到PC,然后只需点击“Run Target”(运行目标),TouchGFX Designer将自动使用安装的STM32Cube Programmer刷写到您的套件。
TouchGFX专家
我们技能高超且极具奉献精神的TouchGFX专家帮助您将想法转化为市场领先的产品。他们为您带来创新型方法,还有在TouchGFX和STM32微控制器方面的广博知识和丰富经验,帮助您设计下一个嵌入式产品,并迅速将想法转化为最终产品。
其他资源
视频
TouchGFX 4.23快速Flash编程和矢量字体
STM32U5G9高性价比解决方案
STM32图显高性价比GUI解决方案
在 STM32H7RS 上运行类似 MPU 的 GUI 应用
STM32U599 Neochrom GPU演示
低Flash存储器占用量的STM32 GUI开发
STM32 MPU上的图显
STM32图显系列旨在帮助您在STM32 MPU上轻松创建令人赞叹的图形用户界面 (GUI)。如要在MPU上构建GUI,则需要针对存储器占用量、性能、输入/输出设备、功耗和用户体验进行优化。意法半导体认识到了这些挑战,并提供了多种图显解决方案,以便在意法半导体授权合作伙伴的支持下,帮助您创建一套兼具视觉吸引力和优化性能的GUI。这种全面的方案考虑到了嵌入式系统独有的限制,可确保基于MPU的GUI提供顺畅且响应迅速的用户体验。
3D图形处理单元 (GPU) 处理复杂3D图形计算和渲染的速度要比CPU快得多,同时还更加节能。
STM32MPU wiki
帮助您在STM32MPU上开始GUI设计
选择MPU
STM32MP13 | STM32MP15 | STM32MP25 | |
摄像头接口 | DCMI 高达240 MB,使用120 MHz 像素时钟和16位数据 30 fps(彩色)下为3 MP 15 fps(彩色)下为5 MP | DCMI 高达140 MB,使用80 MHz像素时钟和14位数据 | 带Lite-ISP的MIPI CSI-2(30 fps DCMI下为5 MP 15 fps下为1 MP) |
显示接口 | LCD-TFT 60 fps下为WXGA (1366×768) 30 fps下可达FHD (1920 × 1080) | LCD-TFT 60 fps下为WXGA (1366×768) 30 fps下可达FHD (1920 × 1080) MIPI® DSI 双数据通道 | LCD-TFT 60 fps LVDS下为FHD (1920 × 1080) 60 fps下可达QXGA (2048 × 1536),带有双链路 60 fps下DSI可达QXGA (2048 × 1536) |
NEON (Arm Cortex®-A) | 视频编码/解码、2D/3D图形 | 视频编码/解码、2D/3D图形 | 音频、视频、3D图形、图像和语音处理 |
GPU | 3D GPU:Vivante® OpenGL® ES 2.0 - 高达26 Mtriangle/s,133 MP | 3D GPU:VeriSilicon® - 高达900 MHz OpenGL® ES 3.2.8 - Vulkan 1.2-OpenCL™ 3.0,OpenVX™ 1.3高达150 Mtriangle/s,900 MP |
运行在STM32生态系统上的库
在OpenSTLinux或OpenSTDroid的完全支持下,利用强大的工具开发类似智能手机的UI,并在STM32MPU平台上丰富您的设计。
- GTK - GIMP工具包
- 免费开源
- C语言和许多其他语言
- 一组即用型控件
- 支持OpenSTlinux(Yocto和Buildroot)
免费开源跨平台控件工具包,用于创建图形用户界面。GTK提供了一套用于构建GUI的控件和工具,其中包含按钮、文本框、菜单和对话框。它采用C语言编写,并提供Python、Perl和Ruby等许多其他编程语言绑定。
GTK采用LGPL(宽通用公共许可证)许可,在Linux和Unix社区中得到了广泛使用,其支持开发人员在开源和商业应用中使用和分发GTK。
- 免费开源(Android开源项目)
- 多种2D和3D图形渲染API
- 支持Android
Android框架提供了丰富的标准工具,用于创建颇具吸引力的功能性图形用户界面。但是,如果您希望增强对应用程序在屏幕上绘制的内容的控制,或者想要涉足3D图形领域,则需要使用不同的工具。基于Android框架的OpenGL ES API提供了一套用于显示高端动画图形的工具,您在设计这些动画图形时可以充分发挥想象力,并且还能利用许多Android设备提供的图形处理单元 (GPU) 加速功能。
- LVGL - 轻量化多功能图形库
- 免费开源
- C语言
- 一组即用型控件
- 支持OpenSTlinux(Yocto和Buildroot)
- 支持裸机运行
LVGL是一种开源图形库,可提供一组用于创建嵌入式GUI的图形和用户界面组件。它采用轻量化的灵活设计,适用于从简单显示到复杂图形界面的各种应用。LVGL支持多种显示器驱动和输入设备,并可轻松集成到Linux和裸机嵌入式系统中。
- WYSIWYG工具
- 拖放界面
Embedded Wizard是一种GUI技术,使您能够创建具有平台无关性的高性能GUI。Embedded Wizard可简化HMI开发,让客户能够通过减少整体存储器占用空间轻松创建高性能图形用户界面。
通过使用OpenGL ES 2.0或高度优化的软件渲染器,Embedded Wizard能够以更好的方式支持STM32MPU。
- 可与LVGL或GTK库配合使用
- 需要使用编程语言
Slint是一个Linux发行版,可在STM32MPU上使用,从而创建面向嵌入式系统的GUI。凭借丰富的图形开发工具和库,Slint成为备受开发人员青睐的选择,可满足他们为各种平台和设备创建质量出色且极具视觉吸引力的图形应用程序的需求。
STM32MP13x | STM32MP15x | STM32MP25x | 通过合作伙伴 | ||||||
裸机 | Yocto | Buildroot | Yocto | Buildroot | Yocto | Buildroot | Android | ||
GTK | |||||||||
LVGL | |||||||||
Qt | |||||||||
Candera | |||||||||
Embedded Wizard | |||||||||
Crank | |||||||||
Altia | |||||||||
Slint | |||||||||
Android |
视频
在STM32MP157 DK
上的快速演示
Candera CGI studio演示
STM32MP135 EV充电器