问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32CubeMX初始生成工程

创作时间:
作者:
@小白创作中心

STM32CubeMX初始生成工程

引用
CSDN
1.
https://blog.csdn.net/qq_50930131/article/details/142989164

STM32CubeMX是一款功能强大的配置工具,能够帮助开发者轻松完成STM32微控制器的引脚配置、时钟树设置、外设配置等任务。本文将详细介绍如何使用STM32CubeMX生成STM32F446开发板的工程,并对软件界面、资源配置和代码生成等关键步骤进行深入讲解。

STM32CubeMX初始生成工程

STM32CubeMX软件可以很容易地配置STM32 MCU,例如引脚配置(Pins)、时钟树(Clock Tree)、外设(Peripherals)、中间件(Middleware)等。使用STM32CubeMX软件可以快速配置STM32工程,生成Keil工程文件以及初始化生成统一风格的C代码。以下为使用STM32F446开发板生成工程的演示。

STM32CubeMX界面介绍

通常我们直接选择ACCESS TO MCU SELECTOR直接进入STM32 MCU型号的选择界面,也可以点击工具栏中的File –> New Project进入。

STM32CubeMX新建工程

STM32CubeMX软件提供了两种新建工程的方式:

  1. 基于芯片
  2. 基于ST官方发布的开发板

使用基于ST官方发布的开发板新建工程时,引脚分配、外设设置和时钟配置等步骤已经自动完成。

芯片选择

  1. 首先在Commercial Part Number中输入芯片型号并查找
  2. 其次选择STM32F446RCT6
  3. 点击Start Project开始配置资源

配置资源

选择好开发板后,我们就可以进行后续的STM32资源配置了。

SYS配置(System Setting)、SYS Mode and Configuration

选择Debug为Serial Wire,这样后续就可以使用ST-Link仿真器来下载与调试程序,同时引脚PA13的功能将变为SWDIO、引脚PA14的功能将变为SWCLK

引脚 功能 英文全称 说明
PA13 SYS_JTMS-SWDIO JTAG Mode Selection-Serial Wire Debug Input/Output JTAG模式选择-串行线调试数据输入输出线
PA14 SYS_JYCK-SWCLK JTAG Clock Input-Serial Wire Debug Clock JTAG时钟输入-串行线调试时钟

Debug一些可选的模式

模式 说明 备注
Disable 禁用调试接口
Serial Wire 使用SWD接口
JTAG (4pins) 使用四线制JTAG调试接口 Joint Test Action Group(联合测试行动小组)
JTAG (5pins) 使用五线制JTAG调试接口
Trace Asynchronous Sw 使用跟踪调试接口(SWO)

RCC复位及时钟控制 (Reset and Clock Controler)

一般情况下我们选择High Speed Clock的Crystal/Ceramic Resonator即可

HSE:High Speed External Clock(外部高速时钟)
LSE:Low Speed External Clock(外部低速时钟)

Setting 备注
Disable 禁止外部时钟
BYPASS Clock Source 旁路时钟源
Crystal/Ceramic Resonator 晶体/陶瓷振荡器
RCC_OSC_IN RCC Oscillator(RCC 晶振输入引脚)
RCC_OSC_OUT RCC Oscillator(RCC 晶振输出引脚)

Clock Configuration 时钟配置

在下图位置输入最大频率180MHz回车,软件将自动配置时钟树

Project Manager 工程管理

Application Structure(工程文件结构)

提供了Basic和Advanced两种结构

Basic结构适用于没有使用中间件或只使用了一种中间件的项目,用户代码分为Src和Inc两个文件夹;
Advanced结构适合使用了多个中间件的项目,用户代码放在Core文件夹下,每个中间件的相关文件分别放在独立的文件夹内,并分别与硬件平台相关联的Target部分以及与应用相关的App部分

Generated files (生成文件设置) 解读

Generate peripheral initialization as a pair of .c/.h files per peripheral
如果勾选该选项,用户所使用的每个片内外设将单独生成.c问就按和.h文件(当用户的项目较为复杂时,使用的片内外设较多时,建议勾选该选项)
backup previously generated files when re-generating
该选项表示在重新生成文件时,将会生成一个Backup文件夹,备份以前生成的文件
Keep User Code when re-generating
该选项表示在每次生成文件时,位于文件中指定位置的用户代码将保留。用户所编写的代码必须位于这些指定的位置,否则在重新生成文件时,用户代码将被清除
Delete previously generated files-when not re-generated
该选项表示在重新生成文件时,将会删除以前生成的、但现在不需要再生成的文件。

生成工程

当配置好上述内容后,点击右上角GENERATE CODE即可生成工程

打开生成文件夹路径,可以看到生成了以下文件及文件夹


E:.
├─Core
│  ├─Inc
│  └─Src
├─Drivers
│  ├─CMSIS
│  │  ├─Device
│  │  │  └─ST
│  │  │      └─STM32F4xx
│  │  │          ├─Include
│  │  │          └─Source
│  │  │              └─Templates
│  │  └─Include
│  └─STM32F4xx_HAL_Driver
│      ├─Inc
│      │  └─Legacy
│      └─Src
└─MDK-ARM

遇到的问题

下载解压失败

ST论坛解决方案

参考链接

STM32的JTAG和SWD模式
单片机的调试接口 JTAG SWD

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号