STM32CubeIDE开发(二), 全面解析cubeMX图形配置工具
已于 2023-03-15 10:31:13 修改1374 收藏 29
分类专栏:
36 篇文章43 订阅
订阅专栏
目录
一、cubeIDE 集成cubeMX
STM32CubeMX是st公司早期产品,现已经成为STM32Cube开发套件的一部分,直接集成到cubeIDE 开发平台省,是一种芯片引脚图形配置工具,可以非常轻松地配置STM32微控制器和微处理器,以及为Arm® Cortex®-M内核或面向Arm® Cortex®-A内核的特定Linux®设备树生成相应的初始化C代码。
STM32CubeMX配置分布过程:
【1】选择与所需外设集匹配的意法半导体STM32微控制器、微处理器或开发平台,同时包括在特定开发平台上运行的示例。
【2】对于微处理器,允许配置GPIO和设置整个系统的时钟,并交互地将外设分配给Arm® Cortex®-M或Cortex®-A内核。特定实用工具(如DDR配置和微调)增强了STM32微处理器的易用性。对于Cortex®-M内核,配置包含了额外步骤,与微控制器的十分相似。
【3】对于微控制器和微处理器Arm® Cortex®-M,通过引脚分配冲突处理器、时钟树设置助手、功耗计算器,以及用于配置外设(如GPIO或USART)和中间件栈(如USB或TCP/IP)的实用工具来配置各个必需的嵌入式软件。
【4】借助增强型STM32Cube扩展包,可扩展默认软件和中间件栈。通过STM32CubeMX中可用的专用包管理器,直接下载意法半导体或意法半导体合作伙伴提供的软件包,其他软件包可以从本地驱动器进行安装。
【5】STM32CubeMX中的独特实用程序STM32PackCreator可帮助开发人员构建自己的增强型STM32Cube扩展包。
【6】用户可以生成与所选配置匹配的软件包。这一步提供Arm® Cortex®-M初始化C代码(可随时用于多个开发环境),或面向Arm® Cortex®-A的部分Linux®设备树。
二、STM32CubeMX界面简介
下面将基于STM32L496VGTX型号芯片为示例,全面阐述STM32CubeMX可支持到那些配置功能。
2.1 总界面及支持功能
【1】 功能页面
【2】支持配置的功能栏目
2.2 通信接口外设配置
【1】CAN外设
【2】FMC外设
【3】I2C外设
【4】串口通信外设(LPUSART*和USART*)
【5】QUADSPI外设
【6】SDMMC外设
【7】SPI外设
【8】SWPMI外设
【9】USB外设
2.3多媒体外设相关设置
【1】DCMI外设
【2】DMA2D外设
【3】LCD外设
【4】SAI外设
2.4 计算功能相关
【1】CRC校验计算
【2】DFSDM外设
DFSDM(Digital Filter for Sigma Delta Modulators)数字滤波模块,配合外设配合Σ-Δ器件的使用。
2.5 中间件功能相关
【1】文件系统
【2】嵌入式系统(FreeRTOS)
【3】触控感应
【4】USB(USB设备、USB主机)
2.6 定时器
【1】低功耗定时器
【2】RTC实时时钟
【3】普通定时器
STM32的普通定时器分为高级定时器、 通用定时器 、基本定时器三种。这三个定时器成上下级的关系,即基本定时器有的功能通用定时器都有,而且还增加了向下、向上/向下计数器、PWM生成、输出比较、输入捕获等功能;而高级定时器又包含了通用定时器的所有功能,另外还增加了死区互补输出、刹车信号。
2.7 系统内核相关
【1】系统
【2】系统时钟设置
【3】中断功能总述
【4】DMA功能总述
【5】GPIO引脚配置总述
【6】看门狗(独立看门狗(硬)、窗口看门狗(软))
【7】User Constants
各个外设及功能都支持自定常量,其实就是在图形配置设置宏定义,各个外设及功能配置页面定义的User Constants均会在main.h中#define声明。
三、时钟树设置
时钟树综合配置,各个最终频率是否生效取决与前面外设功能开启及配置,最终频率数值则由时钟源+各个选择器、分频器、倍频器加权后计算得到。当使用外部时钟源时,必须先启用它们 在RCC外围设备上可用的引脚视图。
当MCU支持时,启用HSE上的时钟安全系统(CSS) 只有当HSE时钟直接或通过PLL间接用作系统时钟源时才能使用该功能。 它可以检测HSE 故障并通知软件,从而允许MCU执行救援操作。 当MCU支持时,在LSE上启用CSS 只有当LSE和LSI被使能并且RTC或LCD时钟源被选择为LSE或LSI之后,该功能才可用。
四、图形窗口设置
4.1 软件包
4.2 端口视图
pinout菜单主要就是针对引脚图形配置界面提供的相关快捷功能或显示功能设定。
4.3 系统视图
点击已开启功能将会自动弹出相应的外设或功能配置页面。
五、工程页面配置
5.1 工程配置
5.2 代码生成页面
5.3 工程高级配置页面
六、生成代码概述说明
在C代码生成过程中,STM32CubeMX执行以下操作:
【1】 如果缺失,则从用户存储库下载相关的STM32Cube固件包。 STM32CubeMX存储库文件夹可在帮助>更新器设置菜单中指定。
【2】如果选择了中间件,它将从固件包,Drivers / CMSIS和Drivers /STM32L4_HAL_Driver文件夹中的相关文件以及Middleware文件夹中复制。
【3】它生成对应于用户MCU配置的初始化C代码(.c / .h文件),并将其存储在Inc和Src文
件夹中。 默认情况下,还包含以下文件(具体文件名与芯片型号有关):
- – – stm32l4xx_hal_conf.h文件:该文件定义启用的HAL模块,并将一些参数(例如外部高速振荡器频率)设置为预定义的默认值或根据用户配置(时钟树)。
- – – stm32l4xx_hal_msp.c(MSP = MCU支持包):该文件定义了所有初始化函数,根据用户配置(引脚分配,时钟使能,DMA使用和中断)配置外设实例。
- – – stm32l4xx_it.h/.c文件:中断处理程序
- – – system_stm32l4xx.c文件:实现SystemInit、SystemCoreClock、SystemCoreClockUpdate相关函数及一些全局变量。
- – – sysmem.c文件:系统内存调用函数实现
- – – syscalls.c文件:最简系统实现,使用标准C库函数
- –– main.c负责:
- 通过调用重置所有外设的HAL_init()函数将MCU重置为已知状态,初始化闪存接口和SysTick。
- 配置和初始化系统时钟。
- 配置和初始化未被外设使用的GPIO。
- 为每个配置的外设定义和调用一个外设初始化函数,该函数定义一个句柄结构,该句柄结构将被传递到相应的外设HAL初始化函数,然后调用外设的HAL MSP初始化函数。 请注意,当使用LwIP(分别为USB)中间件时,底层以太网(分别为USB外设)的初始化C代码将从main.c移至LwIP(分别为USB)初始化C代码本身。
- – – main.h文件:该文件包含与Pinout选项卡中设置的引脚标签相对应的定义语句,以及从Configuration选项卡添加的用户项目常量。
【4】最后,它会生成一个Projects文件夹,其中包含与用户项目设置相匹配的工具链特定文
件。 双击IDE特定的项目文件启动IDE并加载准备编辑,构建和调试的项目。
已关注
- 5
- 29
- 1
专栏目录
STM32CubeIDE_1.10.0 自动补全 与 TAB按键补全
07-07
替换至 STM32CubeIDE_1.10.0或者eclipse CDT的/plugins/目录下,替换前备份原来的文件。 版本号可能会不同,可以试试,基本都能用
【STM32】STM32 CubeMx使用教程一--安装教程
22万+
评论1条
写评论
非常详细,解决了我的问题,会持续关注。
【STM32】STM32 CubeMx使用教程一--安装教程_Z小旋的博客
4-19
STM32 cubemx 开发系列文章(一)认识cubemx_mx cube_灬风继续吹灬的博 ...
4-12
09-11
656
无论是新手还是大佬,基于STM32单片机的开发,使用STM32CubeMX都是可以极大提升开发效率的,并且其界面化的开发,也大大降低了新手对STM32单片机的开发门槛。
STM32cubemx教程及STM32入门(三)定时器_cubemx 定时器_Fable__的博客...
4-21
STM32cubemx教程及STM32入门(一)_Fable__的博客
4-22
04-13
将 jar 包保存到 ..\STM32CubeIDE_1.9.0\STM32CubeIDE\plugins 文件夹下,重启 IDE 即可。
07-26
STM32CubeMX的使用_stm32cubemx使用_liht_1634的博客
4-22
1、STM32CubeMX和STM32Cube库(HAL)详细介绍_追逐者-桥的博客
4-22
05-07
最近项目用到了max197,前面都是51配置,stm32第一次使用,对GPIO寄存器要深刻了解以及MAX197时序严格按照时序图写。下面附上调试过的程序源码。欢迎前来指教!
2万+
STM32CubeMX的安装与简单应用_stm32图形化配置软件_毛哥的博客的博客...
4-17
2万+
【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)
15万+
2989
6417
使用STM32cubeMX/STM32cube ide 生成FatFS代码,操作SPI FLASH
04-19
使用STM32cubeMX/STM32cube ide 生成FatFS代码,操作SPI FLASH w25Qxx
08-31
08-12
基于STM32CubeIDE的LittleVGL的开发环境搭建
07-14
快速上手STM32CUBEIDE和STM32CUBEMX对应工程文件
06-02
快速上手STM32CUBEIDE和STM32CUBEMX对应工程文件
08-18
07-27
复制压缩包内文件到STM32CubeIDE安装目录下的plugins文件夹下,即可打开STM32CubeIDE的自动代码补全
7607
STM32CubeMX,意法半导体(ST)推出的一款图形化配置工具。
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
- 公安备案号11010502030143
- 京ICP备19004658号
- 京网文〔2020〕1039-165号
- 经营性网站备案信息
- 北京互联网违法和不良信息举报中心
- 家长监护
- 网络110报警服务
- 中国互联网举报中心
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- 营业执照
- ©1999-2023北京创新乐知网络技术有限公司
30万+
访问
等级
3954
积分
7150
粉丝
168
获赞
129
评论
949
收藏
已关注
热门文章
- 物联网(AIOT产业)应用简介 正在上传…重新上传取消 33084
- C/C++开发,udp组播通信实现(c++) 正在上传…重新上传取消 10977
- win10-64bit搭建gcc-arm-none-eabi编译环境 正在上传…重新上传取消 10835
- android app在系统重启绕过USB授权对话框,自动获取USB权限 正在上传…重新上传取消 9631
- C/C++开发,将c++静态库实现二次封装供java调用 正在上传…重新上传取消 6244
最新评论
- 物联网安防-园区周界安防技术实现
aaaa_777: 哦哦,好的,谢谢您的解答
- 物联网安防-园区周界安防技术实现
py_free-物联智能: 分布式光纤采集的就是着光纤沿线每间隔一段距离一个采集点,每个采集点就是一个时间序列数据集(时间、数值),按实现分布的数据曲线。数据训练集主要就是针对这些点位或几个点位的一些列数据输入及分类标注,进行训练学习,AI模型部署后就依据输入判断输出分类事件进行预警。例如邻近三个采集点的三次采集间隔采集到的共9个数据作为中间点的事件告警输入条件。
- 物联网安防-园区周界安防技术实现
aaaa_777: 如果需要的是一些原始数据的图片,自己进行训练加工这种,像这样的这种数据集会有吗?
- 物联网安防-园区周界安防技术实现
py_free-物联智能: 数据集,你指的是AI训练的现场数据集吗,一般都是由各个厂商或集成厂商各自积累,不会公开的
- 物联网安防-园区周界安防技术实现
aaaa_777: 博主你好,我们目前有个这方面的项目,想找一下围栏入侵这方面的数据集,但是我一直找不到。请问有什么地方可以有这个公开的数据集吗?
您愿意向朋友推荐“博客详情页”吗?
-
强烈不推荐
-
不推荐
-
一般般
-
推荐
-
强烈推荐
最新文章
2023
目录
- 一、cubeIDE 集成cubeMX
- 二、STM32CubeMX界面简介
- 三、时钟树设置
- 四、图形窗口设置
- 五、工程页面配置
- 六、生成代码概述说明
分类专栏
- 编辑c/c++开发之opencv6篇
- 编辑c/c++开发进阶及实战案例82篇
- 编辑STM32CubeIDE开发实践案例36篇
- 编辑物联网62篇
- 编辑产品化30篇
- 编辑zeroc-ice6篇
- 编辑qt知识15篇
举报
评论
笔记