STM32CubeMX配置与代码生成界面说明

一、目的

STM32CubeIDE中整合了STM32CubeMX用来配置芯片资源生成初始化代码,本篇将介绍STM32CubeMX使用方法。

二、用户界面

界面主要由四部分组成引脚输出和配置、时钟配置、项目管理、工具。其中前两部分关联比较紧密,必须结合在一起调整。下面是具体的说明(主要以图片为主,可以点击查看大图):

1.引脚输出和配置

这个分页主要用于配置引脚、外设和中间件:


这个分页中外设和中间件等的详细设置主要是与各自具体的属性功能有关,需要依据具体情况去了解设置。

2.时钟配置

这个分页主要用于配置系统各部分时钟:


3.项目管理

这个分页主要用于设置代码生成输出方面的选项参数:


4.工具

这个分页目前就一个工具,用来模拟计算功耗:

这个工具怎么说呢,个人觉得做个参考就好,别在这里花太多时间。

三、代码生成

 

STM32CubeMX生成的代码根据设置不同,代码结构也会不同,这里主要讲一下默认情况下生成代码的结构:

用到的 Drivers/CMSIS、Drivers/STM32Fxxx_HAL_Driver 中间件 等会从固件包中直接复制到项目中;

根据用户配置会生成相对应的初始化C代码(.c/.h文件),并将其存储在Inc和Src文件夹中,默认情况下,包含以下文件:

  • stm32fxxx_hal_conf.h文件:此文件定义了使能的HAL模块,并将一些参数(如外部高速振荡器频率)设为预定义的默认值,或根据用户配置(时钟树)进行设置。
  • stm32fxxx_hal_msp.c(MSP = MCU支持包):此文件定义了所有初始化函数,以便根据用户配置(比如引脚分配、使能时钟、使用DMA和中断)去配置外设实例。
  • main.c负责:通过调用重置所有外设、初始化闪存接口和SysTick的HAL_init()函数将MCU重置为已知状态;配置和初始化系统时钟;配置和初始化外设未使用的GPIO;为每个已配置的外设定义和调用外设初始化函数,该函数定义了将传递给相应外设HAL init函数(转而调用外设HAL MSP初始化函数)的句柄结构。请注意,当使用LwIP(各自的USB)中间件时,底层以太网(各自的USB外设)的初始化C代码将从main.c移至LwIP(各自的USB)初始化C代码本身。
  • main.h文件:此文件包含通过引脚布局选项卡所设置的引脚标签相对应的定义语句,以及通过配置选项卡所添加的用户项目常量。比如将某个GPIO口用户标签定义为LED,那么在main.h文件中就会出现 #define LED_Pin GPIO_PIN_xx #define LED_GPIO_Port GPIOx 的定义;(一般来说这个文件已经链接了所有库资源,用户自己的文件只要包含这个文件就可以调用其他东西了)。

STM32CubeMX生成的文件中,用户需要添加代码的话需要添加在特定区间中,不然会在STM32CubeMX重新生成代码后丢失,见下面:

/* USER CODE BEGIN xxx */
写在这之间的代码在STM32CubeMX重新生成代码时不会丢失
/* USER CODE END xxx */

用户额外添加的文件只要不和STM32CubeMX生成的文件文件名重复,也不会在STM32CubeMX生成代码时丢失。 

四、更换芯片

更换芯片稍微麻烦点,需要去ST官网下载独立版本的STM32CubeMX并进行安装,然后具体的更换步骤如下(更换操作前注意备份原始项目):

  1. 使用STM32CubeMX新建项目,选择新的目标芯片;
  2. 项目建立后不要进行任何操作,直接 File > Import Project ... ,选择原始项目的ioc文件导入;
  3. 导入后核对Import Project页面中新旧芯片资源的兼容性信息,并选择合适参数,然后点OK确认;
  4. 检查当前的STM32CubeMX项目,没问题的话就保存为原始项目同名的ioc文件,然后替换到原始STM32CubeIDE项目中(也可以保存时直接覆盖);
  5. 重新打开STM32CubeIDE项目中ioc文件,应该可以看到芯片已经被替换,检查相关资源配置参数和设置,然后点击重新生成代码;
  6. 编译项目,如果编译报错则根据错误提示手动进行调整直至编译通过;

 

五、总结

对于STM32CubeMX的使用这里只是粗略介绍了下,更多使用说明可以参考ST官网的用户手册UM1718(官方文档这个写的非常非常详细,还有大量例子举例),另外在ST中文网还有中文的用户手册《STM32CubeMX用于STM32配置和初始化C代码生成》
                        
原文链接:

STM32CubeIDE使用笔记(02):STM32CubeMX配置与代码生成_setupstm32cubemx代码有*.sct-CSDN博客

### STM32CubeMX生成代码所需安装包下载 对于STM32CubeMX生成代码的需求,确保拥有正确的工具链和库文件至关重要。为了使STM32CubeMX能够成功生成适用于不同IDE(如Keil, IAR等)的项目框架并包含初始化源码,需完成几个前置条件。 #### 获取STM32CubeMX软件及其关联资源 首先,访问ST官方网站或授权渠道来获得最新版的STM32CubeMX应用程序[^1]。此过程不仅限于获取主程序本身,还包括配套使用的各种外设驱动和支持材料。 #### Java运行环境准备 由于STM32CubeMX基于Java开发,在安装前还需确认计算机上已正确部署JRE (Java Runtime Environment),这一步骤可通过官方文档指导完成设置。 #### 下载并关联STM32Cube固件库 除了上述两项之外,最为关键的是要从ST官网上下载对应目标芯片系列的STM32Cube固件库,并将其路径指定给STM32CubeMX以便后续操作中调用必要的头文件及函数定义。这些固件库包含了特定硬件平台的支持文件,是实现自动代码生成功能不可或缺的一部分。 #### 配置生成项目的具体步骤 当所有前提条件满足之后,则可以在STM32CubeMX界面内按照提示逐步配置MCU参数直至最终点击“Project->Generate Code”,此时会依据用户设定自动生成完整的嵌入式应用模板[^2]。 ```bash # 假定已经完成了前面提到的各项准备工作, # 用户只需打开STM32CubeMX图形化界面, # 进行相应的硬件资源配置, # 接着通过菜单栏选择 "Project -> Generate Code" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值