介绍
? ?
STM32CubeMX 是用于 32 位 ARM 的图形工具?皮层?STM32 微控制器。它是
STMCube 的一部分
?
倡议 (见节 1),可作为独立的应用程序或作为一个 Eclipse 插件集成开
发环境 (Ide) 中的集成。
STM32CubeMXhas 以下主要特点︰ ? 简单的单片机选择覆盖整个 STM32 组合 ? 从列表中的意法半导体板插件板选择
? Easymicrocontroller 配置(引脚,时钟树、 外围设备、 中间件) 和相应的初始化 C 代码
生成
? 轻松切换到另一个微控制器通过导入以前保存的配置到一个新的单片机项目 ? 容易导出当前配置与兼容的单片机 ? 生成的配置报告
? 一代嵌入式 C 项目的集成的开发环境工具链的选择。STM32CubeMX 项目包括生成的初始
化 C 代码、 MISRA 2004 兼容的 STM32 HAL 驱动程序、 用户配置和所有相关文件中的开放和建设项目在 IDE 中选定所需的中间件堆栈. ? 功率消耗计算为用户定义的应用程序序列
? 自我更新这样就允许用户保持最新 STM32CubeMX
? 下载和更新的 STM32Cube 嵌入式软件所需的用户应用程序开发 (见附录 e: STM32Cube
嵌入式软件程序包 STM32Cube 嵌入式的软件提供的详细信息)
虽然 STM32CubeMX 提供一个用户界面,并生成与 STM32 单片机设计与固件解决方案兼容的 C 代码,它被建议请参考产品技术文档有关实际执行的详细信息的单片机外设和固件。 下列文件是可用的 http://www.st.com : ? STM32 微控制器参考手册和数据表
STM32F0 STM32Cube HAL 驱动程序用户手册 (UM1785),STM32F1 (UM1850),STM32F2 (UM1940),STM32F3 (UM1786),STM32F4 (UM1725),STM32F7 (UM1905),STM32L0 (UM1749),STM32L1 (UM1816) 和 STM32L4 (UM1884)。
1 STM32Cube 概述
STMCube
?
是一个意法半导体公司原始的倡议,以减轻开发人员的生活通过减少
发展努力、 时间和成本。STM32Cubecovers STM32 的投资组合。 STM32Cubeincludes:
? STM32CubeMX,允许生成 C 初始化 C 代码中使用图形向导图形软件配置工具。 ? 全面的嵌入式的软件平台,提供每个系列 (如
STM32F2 系列和 STM32F4 系列 STM32CubeF4 STM32CubeF2) — — STM32Cube HAL,STM32 抽象层的嵌入式软件,确保跨 STM32 组合
最大化可移植性
— — 一套一致的 RTO、 USB、 TCP/IP,图形中间件组件 — — 所有嵌入软件实用程序来与一套完整的例子。
2 入门 STM32CubeMX
2.1 原则
客户需要快速确定最能满足他们的需求 (核心体系结构、 功能、 内存大小、 性能...) 单片机。虽然董事会设计师主要关注优化其主板布局的单片机引脚配置,满足应用要求 (外围设备操作模式的选择),嵌入式的系统开发人员更感兴趣开发新应用程序的特定目标设备,并将现有的设计迁移到不同的微控制器。
将迁移到新的平台和 C 代码更新到新固件驱动程序所需的时间向项目中添加不必要的延误。STM32Cube 倡议的目的是满足客户的关键要求,以最大化软件重用和尽量减少创建目标系统的时间范围内制定了 STM32CubeMX:
? 软件复用和应用程序设计的可移植性通过 STM32Cube 固件解决方案跨越
STM32 组合提出一个共同的硬件抽象层 API 实现。
? 由于 STM32CubeMX 内置知识的 STM32 微控制器、 外围设备和中间件
(LwIP 和 USB 通信协议栈,FatFs 文件系统为小的嵌入式系统,FreeRTOS) 实现优化迁移时间。
STM32CubeMX 图形界面执行以下功能︰
? 快速,轻松地配置单片机的引脚,时钟树和经营模式的选定的外设和中间件 ? 一代的板设计师的引脚配置报告
? 生成一个完整的项目与所有必要的库和初始化 C 的代码设置在用户设备定义操
作模式。该项目可以直接开在所选应用程序开发环境 (用于支持 Ide 选择) 进行应用程序开发 (见图 1 ).
在配置过程中,STM32CubeMX 检测冲突和无效的设置,并突出显示它们通过有意义小图标和有用的工具提示。
图 1。STM32CubeMX C 代码生成流程概述
2.2 主要功能
STM32CubeMX 是具有以下特点︰ ? 项目管理
STM32CubeMX 允许创建、 保存和加载以前保存的项目︰
— — 推出时 STM32CubeMX,用户可以选择创建一个新的项目或加载以前保
存的项目。
— — 保存项目保存用户设置和执行的项目中的.ioc 文件,将用于下一次会在
加载该项目的配置 STM32CubeMX。
STM32CubeMX 还允许导入以前保存在新项目中的项目。 STM32CubeMX 项目进来两种口味︰
— — 仅 MCU 配置︰.ioc 文件保存在任何地方,旁边其他的.ioc 文件。 — — 单片机配置与 C 代码生成︰ 在这种情况下.ioc 文件将保存在专门的
项目文件夹和生成的源代码 C 代码。可以将每个项目只有一个.ioc 文件。
? 简单的单片机和意法半导体板选择
开始一个新项目,会出现一个专用窗口,选择一个微控制器或意法半导体公司董事会从 STM32 组合。不同的筛选选项,可纾缓的 MCU 和板的选择。 ? Easypinout 配置
— — 从引出线视图,用户可以从列表中选择外围设备和配置应用程序所需的
外围模式。STM32CubeMX 分配并相应地配置针脚。
— — 对于更高级的用户,还可能直接映射到物理 pin 使用芯片视图的外设功
能。信号可以锁定引脚可防止 STM32CubeMX 冲突规划求解移动信号到另一个引脚上。
— — 引脚配置可以导出为.csv 文件。 ? 完整的项目生成
项目生成包括一整套的 Ide 的引出线、 固件和中间件初始化 C 代码。它基于 STM32Cube 的嵌入式软件库。可以执行下列操作︰
— — 从先前定义的引出线开始,用户可以继续进行的中间件、 时钟树、 服
务 (RNG,CRC,等等) 和外围参数配置。STM32CubeMX 生成相应的初始化 C 代码。其结果是包括生成的 main.c 文件和 C 头文件的配置和初始化,再加上必要的 HAL 和中间件库的副本以及为所选 IDE 的特定文件项目目录。
— — 用户可以通过在用户专用节中添加用户定义的 C 代码修改生成的源代
码文件。STM32CubeMX 可以确保用户 C 代码保留在 C 代码的下一代 (用户 C 代码被注释如果它不再是有关当前配置)。
— — STM32CubeMX 可以通过使用用户定义的 freemarker.ftl 模板文件生
成用户文件。
— — 从项目设置菜单中,用户可以选择开发工具链
(IDE) 的 C 代码有要生成。STM32CubeMX 可确保 IDE 有关项目文件添加到项目文件夹,项目可以是入门 STM32CubeMX
?
?
直接作为第三方 IDE 内的一个新项目导入 (IAREWARM,KeilMDK 臂、 Atollic?TrueSTUDIO 和 AC6 系统工作台为 STM32)。
? 功率消耗计算
入手的微控制器部件号和电池类型选择,用户可以定义一系列步骤表示的应用程序生命周期和参数 (选择的频率,启用外设,单步持续时间)。STM32CubeMX 电源消耗计算器返回相应的功率消耗和电池寿命估计。 ? 钟树配置
STM32CubeMX 提供时钟树的图形表示的形式,它可以在设备参考手册中找到。用户可以更改默认设置 (时钟源、 预分频器和频率值)。然后相应地更新时钟树。无效的设置和限制是突出显示并记录与工具提示。可以通过使用规划求解功能解决时钟树配置冲突。当没有精确匹配找到给定的用户配置时,STM32CubeMX 提出了最亲密的解决方案。 ? 自动更新的 STM32CubeMX 和 STM32Cube 的固件包