打印
[其他ST产品]

基于ST STM32 Cortex-M4(STM32F4 or L4)自行车码表方案Demo演示

[复制链接]
5417|60
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在单片机系统上实现图形界面,最简单的方法是使用串口屏,但是在体积有限的手持机应用中,串口屏显得有点笨重了,而且板子往往不能适应需求,订做串口屏成本又太高。这就需要使用GUI框架来完成图形界面。在单片机领域的GUI框架有:ucgui(STemWin/emwin)、TouchGFX、GuiLite、LittlevGL等。

emwin提供的更多是一些较底层的函数(如:画线、画圆),而且不能拖控件,做出来的界面更接近像素时代的产物。在emwin的开发中,要想显示图片,需要把图片转成bmp格式,再用BmpCvt转成数组,最后才用emwin的函数去调用这个数组,这是比较麻烦的。

TouchGFX都可以很好的解决这些问题,但是只能用于STM32的单片机上。这是因为TouchGFX是ST全资子公司,目前TouchGFX 仅被授权使用在ST芯片上。

2018年7月10日,全球半导体领导者意法半导体(ST)宣布收购TouchGFX软件的开发商和供应商Draupner Graphics,标示着TouchGFX翻开了新的篇章。ST此次收购TouchGFX,旨在为嵌入式应用提供高度先进的GUI解决方案来扩展STM32生态系统。对于双方而言,无疑是双赢的结果。本文章将通过一个成熟的应用,向你展示TouchGFX 强大的魅力,以及STM32做为GUI 设计平台的优势与便利。工欲善其事,必先利其器。

使用特权

评论回复
沙发
丢丢手绢666|  楼主 | 2023-11-21 12:13 | 只看该作者
首先给出开发工具下载地址:
TouchGFX:
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/touchgfxdesigner.html
STM32CubeIDE:
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/stm32cubeide.html
STM32CubeProgrammer:
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stm32cubeprog.html
STM32CubeMX:
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

使用特权

评论回复
板凳
丢丢手绢666|  楼主 | 2023-11-21 12:21 | 只看该作者
其次,介绍相关工具及其作用:
TouchGFX:


TouchGFX是为STM32微控制器优化的高级免费图形软件框架。利用STM32的图形功能和架构,TouchGFX通过创建令人惊叹的类似智能手机的图形用户界面,加速了事物的人机界面革命。

使用特权

评论回复
地板
丢丢手绢666|  楼主 | 2023-11-21 12:21 | 只看该作者

TouchGFX框架包括TouchGFX Designer(TouchGFXDesigner),一个易于使用、基于拖放的图形构建PC工具,以及一个强大和优化的图形核心TouchGFX引擎。TouchGFX结合了所见即所得模拟器和自动代码生成,使GUI开发变得简单。它涵盖了从早期设计草图到独家最终产品的所有步骤,通过对成品原型的快速迭代。

使用特权

评论回复
5
丢丢手绢666|  楼主 | 2023-11-21 12:21 | 只看该作者
TouchGFX Designer是一个独立的软件工具,允许简单和快速的图形评估和概念证明。TouchGFX框架,包括TouchGFX设计器,分布在STM32Cube MCU包中。它与STM32CubeMX初始化和代码生成工具完全兼容,可以在统一的项目环境中无缝地协同开发图形和主应用程序。

使用特权

评论回复
6
丢丢手绢666|  楼主 | 2023-11-21 12:22 | 只看该作者
STM32CubeIDE:

STM32CubeIDE是一个多操作系统集成开发工具,是STM32Cube软件生态系统的一部分。

使用特权

评论回复
7
丢丢手绢666|  楼主 | 2023-11-21 12:25 | 只看该作者
STM32 CuBeIDE是一种先进的C/C++开发平台,具有STM32微控制器和微处理器的外围配置、代码生成、代码编译和调试功能。它基于Eclipse®/CDT框架和GCC工具链进行开发,GDB用于调试。它允许集成数百个现有插件,这些插件完成了Eclipse®IDE的功能。

使用特权

评论回复
8
丢丢手绢666|  楼主 | 2023-11-21 12:27 | 只看该作者
STM32CubeIDE集成了STM32CubeMX的STM32配置和项目创建功能,提供了一体式工具体验,并节省了安装和开发时间。在选择一个空的STM32 MCU或MPU之后,或者从预装配的微控制器或微处理器中选择一个单板或一个实例,创建项目并生成初始化代码。在开发过程中,用户可以随时返回到外围设备或中间件的初始化和配置,重新生成初始化代码,而不会对用户代码产生影响。

使用特权

评论回复
9
丢丢手绢666|  楼主 | 2023-11-21 12:27 | 只看该作者
STM32CubeIDE包括构建和堆栈分析器,它们为用户提供有关项目状态和内存需求的有用信息。
STM32CubeIDE还包括标准和高级调试功能,包括CPU核心寄存器、存储器和外围寄存器的视图,以及实时变量监视、串行线查看器接口或故障分析器。

使用特权

评论回复
10
丢丢手绢666|  楼主 | 2023-11-21 12:28 | 只看该作者
主要特点

来自STM32CubeMX的服务集成:

STM32单片机、微处理器、开发平台及实例方案选择

引脚、时钟、外围设备和中间件配置

项目创建和初始化代码的生成

软件和中间件由增强的STM32Cube扩展包完成

使用特权

评论回复
11
丢丢手绢666|  楼主 | 2023-11-21 12:28 | 只看该作者
基于Eclipse®/CDT,支持Eclipse®加载项、GNU C/C++用于ARM®工具链和GDB调试器

其他高级调试功能包括:

CPU核心、外围寄存器和内存视图

实时变量监视视图

系统分析和实时跟踪(SWV)

CPU故障分析工具

支持ST-LINK(STMicroelectronics)和J-LINK(SEGGER)调试探头

从Atolonic®TrueSTUDIO®和AC6 System Workbench for STM32(SW4SM32)导入项目

多操作系统支持:仅限64位版本的Windows®、Linux®和macOS®

使用特权

评论回复
12
丢丢手绢666|  楼主 | 2023-11-21 12:30 | 只看该作者
STM32CubeProgrammer: STM32CubeProgrammer(STM32CubeProgrammer,STM32CubeProgrammer)是一个多操作系统软件工具,用于STM32产品的编程。

使用特权

评论回复
13
丢丢手绢666|  楼主 | 2023-11-21 12:30 | 只看该作者
它为通过调试接口(JTAG和SWD)和引导加载程序接口(UART、USB DFU、I2C、SPI和CAN)读取、写入和验证设备内存提供了一个易于使用和高效的环境。


STM32CubeProgrammer提供多种功能来编程STM32内部存储器(如Flash、RAM和OTP)以及外部存储器。

使用特权

评论回复
14
丢丢手绢666|  楼主 | 2023-11-21 12:33 | 只看该作者
STM32CubeProgrammer还允许选项编程和上载、编程内容验证和通过脚本编程实现编程自动化。
STM32CubeProgrammer提供GUI(图形用户界面)和CLI(命令行界面)版本。STM32CubeMX: STM32CubeMX是一种图形化工具,它允许对STM32微控制器和微处理器进行非常简单的配置,还可以通过一步一步的过程为Arm®Cortex®-M内核或Arm®Cortex®-a core生成部分Linux®设备树。
第一步包括选择:一个stmicroelectronics STM32微控制器、微处理器或与所需外围设备相匹配的开发平台,或是在特定开发平台上运行的示例。

使用特权

评论回复
15
丢丢手绢666|  楼主 | 2023-11-21 12:34 | 只看该作者
对于微处理器,第二步允许为整个系统配置GPIO和时钟设置,并以交互方式将外围设备分配给Arm®Cortex®-M或Cortex®A world。特定的实用程序(如DDR配置和调整)使STM32微处理器的入门变得容易。对于Cortex®-M core,配置包括与微控制器描述的步骤完全相似的附加步骤。
对于微控制器和微处理器Arm®Cortex®-M,第二步包括配置每个所需的嵌入式软件,这要归功于pinout冲突解决程序、时钟树设置助手、功耗计算器以及配置外围设备(如GPIO或USART)和中间件堆栈(如USB或TCP/IP)的实用程序。

使用特权

评论回复
16
丢丢手绢666|  楼主 | 2023-11-21 12:35 | 只看该作者

软件栈和软件栈可以扩展到stm32扩展包。stmicroelectronics或stmicroelectronics的合作伙伴软件包可以直接从STM32CubeMX中提供的专用软件包管理器下载,而其他软件包则可以从本地驱动器安装。

使用特权

评论回复
17
丢丢手绢666|  楼主 | 2023-11-21 12:35 | 只看该作者
此外,STM32CubeMX交付中的一个独特实用程序STM32PackCreator将帮助开发人员构建自己的增强STM32Cube扩展包。
最终,用户将启动与所选配置选项匹配的生成。此步骤提供了Arm®Cortex®-M的初始化C代码,可以在多个开发环境中使用,或者为Arm®Cortex®-a提供部分Linux®设备树。STM32CubeMX在STM32Cube中交付。

使用特权

评论回复
18
丢丢手绢666|  楼主 | 2023-11-21 12:35 | 只看该作者
主要特点

直观的STM32微控制器和微处理器选择

丰富易用的图形用户界面,允许配置:

带自动冲突解决的引脚输出

Arm®Cortex®-M core的外设和中间件功能模式以及参数约束的动态验证

具有动态配置验证的时钟树

具有估计消耗结果的功率序列

生成符合IAR的初始化C代码项目™,用于Arm®Cortex®-M core的Keil®和STM32CubeIDE(GCC编译器)

为Arm®Cortex®-a核心(STM32微处理器)生成部分Linux®设备树

借助STM32PackCreator开发增强型STM32Cube扩展包

将STM32Cube扩展包集成到项目中

作为独立软件运行在Windows®、Linux®和macOS®(macOS®是Apple Inc.在美国和其他国家/地区注册的商标)操作系统和64位Java运行时环境上的可用性

使用特权

评论回复
19
丢丢手绢666|  楼主 | 2023-11-21 12:37 | 只看该作者
关于此Cortex-M4 系列,ST官方的开发板做的Demo示例非常炫酷,如下测试视频,大家参考借鉴。
下面通过一个简单的例子,展示TouchGFX的强大魅力,借此,你可以很容易的开发对应码表的GUI,我们的客户也是这样做的。

使用特权

评论回复
20
丢丢手绢666|  楼主 | 2023-11-21 12:37 | 只看该作者
.启动界面,工程与参数配置

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

394

帖子

0

粉丝