没有合适的资源?快使用搜索试试~ 我知道了~
!! STM32CubeMX用于STM32配置和初始化C代码生成(UM1718).pdf
需积分: 32 10 下载量 198 浏览量
2019-10-03
10:47:57
上传
评论 2
收藏 30.86MB PDF 举报
温馨提示
试读
316页
STM32CubeMX 有以下主要特性: • 微控制器选择方便,覆盖整个STM32产品 • 可从一系列意法半导体的开发板中选择板子 • 微控制器配置简单(引脚、时钟树、外设、中间件)以及生成对应的初始化C代码 • 将以前保存的配置导入新的MCU项目即可轻松地转换到其他微控制器 • 将当前配置轻松地导出到兼容的MCU • 生成配置报告
资源推荐
资源详情
资源评论
2019年3月 UM1718 Rev 1 [English Rev 25] 1/316
1
UM1718
用户手册
STM32CubeMX用于STM32配置和
初始化C代码生成
引言
STM32CubeMX是用于STM32微控制器的图形工具。它属于STMCube™系列(参见
第
2
节
),
既可作为独立应用,也可作为Eclipse插件集成到集成开发环境(IDE)中。
STM32CubeMX 有以下主要特性:
• 微控制器选择方便,覆盖整个STM32产品
• 可从一系列意法半导体的开发板中选择板子
• 微控制器配置简单(引脚、时钟树、外设、中间件)以及生成对应的初始化C代码
• 将以前保存的配置导入新的MCU项目即可轻松地转换到其他微控制器
• 将当前配置轻松地导出到兼容的MCU
• 生成配置报告
• 为一系列集成开发环境工具链生成嵌入C项目 STM32CubeMX项目包括生成的初始化
C代码、兼容MISRA 2004的HAL驱动程序、用户配置所需的中间件协议栈,以及在选择
的IDE中打开和编译项目的所有相关文件。
• 用户定义应用序列的功耗计算
• 自动更新功能确保用户随时更新STM32CubeMX
• 下载和更新用户应用开发所需的STM32Cube嵌入式软件(关于STM32Cube嵌入式软件产品
的详情,参见
附录
E
:
STM32Cube
嵌入式软件包
)
虽然STM32CubeMX提供了一个用户界面并且生成的C代码兼容STM32 MCU设计和固件解决
方案,但用户仍需要参考产品技术文档,以了解关于微控制器外设和固件实际实现的详情。
以下文档可从www.st.com获得:
• STM32微控制器参考手册和数据手册
• STM32F0 (UM1785)
、
STM32F1 (UM1850)
、
STM32F2 (UM1940)
、
STM32F3 (UM1786)
、
STM32F4 (UM1725)
、
STM32F7 (UM1905)
、
STM32L0 (UM1749)
、
STM32L1 (UM1816)
、
STM32L4/L4+ (UM1884)
和
STM32H7 (UM2217)
的
STM32Cube HAL/LL
驱动程序用户手册
。
www.st.com
目录 UM1718
2/316 UM1718 Rev 1 [English Rev 25]
目录
1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 STM32Cube 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 STM32CubeMX入门 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1 原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 主要特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 规则和限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 安装和运行 STM32CubeMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1 系统要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.1 支持的操作系统和架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.2 内存必要条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.3 软件要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 安装/卸载 STM32CubeMX 独立版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1 安装STM32CubeMX 独立版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2 从命令行安装STM32CubeMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.3 卸载STM32CubeMX独立版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 安装STM32CubeMX 插件版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3.1 下载STM32CubeMX 插件安装包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3.2 在Eclipse IDE中安装STM32CubeMX 插件 . . . . . . . . . . . . . . . . . . . . . . 25
4.3.3 在Eclipse IDE中卸载STM32CubeMX 插件 . . . . . . . . . . . . . . . . . . . . . . 26
4.4 启动STM32CubeMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4.1 STM32CubeMX 作为独立应用程序运行 . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4.2 在命令行模式下运行STM32CubeMX . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4.3 从Eclipse IDE运行STM32CubeMX 插件 . . . . . . . . . . . . . . . . . . . . . . . . 31
4.5 获取STM32Cube和第三方软件发布和更新 . . . . . . . . . . . . . . . . . . . . . . . 32
4.5.1 更新程序配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.2 安装STM32 MCU软件包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5.3 安装STM32 MCU软件包补丁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.5.4 安装嵌入式软件包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.5.5 删除已安装的嵌入式软件包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.6 检查更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
UM1718 Rev 1 [English Rev 25] 3/316
UM1718 目录
7
5 STM32CubeMX用户界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.1 欢迎页面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.2 新项目窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.3 主窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4 工具栏和菜单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4.1 文件菜单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4.2 项目菜单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4.3 引脚布局菜单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4.4 窗口菜单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4.5 帮助菜单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4.6 社交链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.5 输出窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.5.1 MCU选择面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.5.2 输出面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.6 “导入项目”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.7 “设置未使用 / 重置已使用GPIO”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.8 “项目设置”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.8.1 “项目”选项卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.8.2 “代码生成器”选项卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.8.3 “高级设置”选项卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.9 “更新管理器”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.10 附加软件组件选择窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.10.1 软件组件简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.10.2 筛选器面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.10.3 软件组件表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.10.4 软件组件条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.11 “关于”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.12 “引脚布局”视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.12.1 “外设和中间件树”面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.12.2 “芯片”视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.12.3 “芯片”视图高级操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.12.4 保持当前信号布置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.12.5 在引脚上锁定和标记信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.12.6 设置HAL时基源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.13 配置视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
目录 UM1718
4/316 UM1718 Rev 1 [English Rev 25]
5.13.1 “外设和中间件配置”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.13.2 “用户常量”配置窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.13.3 “GPIO配置”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.13.4 “DMA配置”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.13.5 “NVIC配置”窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.13.6 FreeRTOS中间件配置视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.13.7 图形框架和仿真器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.14 时钟树配置视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.14.1 时钟树配置功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.14.2 建议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.14.3 STM32F43x/42x功率超载功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.14.4 时钟树词汇表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.15 功耗计算器视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.15.1 建立功耗系列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.15.2 配置功耗系列中的步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.15.3 管理用户定义的功耗系列并审查结果 . . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.15.4 功耗系列步骤参数词汇表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.15.5 电池词汇表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
5.15.6 SMPS特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6 STM32CubeMXC代码生成概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.1 仅使用HAL驱动程序生成STM32Cube代码(默认模式) . . . . . . . . . . . . 170
6.2 使用底层驱动程序生成STM32Cube代码 . . . . . . . . . . . . . . . . . . . . . . . . 172
6.3 自定义代码生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.3.1 FreeMarker用户模板的STM32CubeMX数据模型 . . . . . . . . . . . . . . . . 177
6.3.2 保存并选择用户模板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.3.3 自定义代码生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.4 其他C项目生成设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
7 教程一使用STM32F4从引脚布局到生成项目C代码 . . . . . . . . . . . . . . . . . 185
7.1 创建一个新STM32CubeMX项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
7.2 配置MCU引脚布局 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
7.3 保存项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
7.4 生成报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
7.5 配置MCU时钟树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
7.6 配置MCU初始化参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
UM1718 Rev 1 [English Rev 25] 5/316
UM1718 目录
7
7.6.1 初始条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
7.6.2 配置外设 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
7.6.3 配置GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
7.6.4 配置DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.6.5 配置中间件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
7.7 生成完整的C项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
7.7.1 设置项目选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
7.7.2 下载固件包和生成C代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
7.8 构建和更新C代码项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
7.9 切换到另一MCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
8 教程2 - 使用STM32429I-EVAL评估板的SD卡上的FatFs示例 . . . . . . . . . 216
9 教程 3 - 使用功耗计算器优化嵌入式应用功耗等 . . . . . . . . . . . . . . . . . . . 224
9.1 教程概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9.2 应用程序示例说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.3 使用功耗计算器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.3.1 创建功耗系列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.3.2 优化应用功耗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10 教程4 - 通过串口与STM32L053xx Nucleo板通信示例 . . . . . . . . . . . . . . 236
10.1 教程概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.2 创建一个新STM32CubeMX项目并选择Nucleo板 . . . . . . . . . . . . . . . . . . 236
10.3 从“引脚布局”视图中选择功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.4 在“时钟配置”视图中配置MCU时钟树 . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
10.5 在“配置”视图中配置外设参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.6 配置项目设置并生成项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.7 使用用户应用代码更新项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.8 编译并运行项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
10.9 将Tera Term软件配置为PC上的串行通信客户端 . . . . . . . . . . . . . . . . . . 247
11 教程5:将当前项目配置导出到兼容MCU . . . . . . . . . . . . . . . . . . . . . . . . 249
12 教程6 – 将嵌入式软件包添加到用户项目 . . . . . . . . . . . . . . . . . . . . . . . . . 253
13 教程 7 – 使用STemWin图形框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
剩余315页未读,继续阅读
资源评论
- flybirding100112021-09-10
qq_43071482
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功