cubeIDE开发, 全面解析cubeMX图形配置工具

news2024/11/18 15:31:17

一、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】DFS算法外设

2.5 中间件功能相关

        【1】文件系统

        【2】嵌入式系统(FreeRTOS)

        【3】触控感应

        【4】USB(USB设备、USB主机)

 2.6 系统内核相关

        【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负责:
  1.  通过调用重置所有外设的HAL_init()函数将MCU重置为已知状态,初始化闪存接口和SysTick。
  2.  配置和初始化系统时钟。
  3.  配置和初始化未被外设使用的GPIO。
  4.  为每个配置的外设定义和调用一个外设初始化函数,该函数定义一个句柄结构,该句柄结构将被传递到相应的外设HAL初始化函数,然后调用外设的HAL MSP初始化函数。 请注意,当使用LwIP(分别为USB)中间件时,底层以太网(分别为USB外设)的初始化C代码将从main.c移至LwIP(分别为USB)初始化C代码本身。
  •  – – main.h文件:该文件包含与Pinout选项卡中设置的引脚标签相对应的定义语句,以及从Configuration选项卡添加的用户项目常量。

        【4】最后,它会生成一个Projects文件夹,其中包含与用户项目设置相匹配的工具链特定文
件。 双击IDE特定的项目文件启动IDE并加载准备编辑,构建和调试的项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java+MySQL基于ssm的公文流转关管理系统

在企业的日常管理过程中,公文管理是日常管理中必不可少的组成部分,其管理水平的高低体现了一个企业管理水平的整体状况。一直以来企业使用传统人工的方式管理公文数据,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,为操作人员带来不少…

python_selenium自动化测试框架

设计思路 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架,能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开&#xff0…

cdp4j爬虫自动化学习

cdp4j爬虫自动化学习cdp4j介绍依赖通过识别本地文件进行调试cdp4j介绍 cdp4j是一个Java库,它提供了高级API来通过DevTools协议控制Chrome或Chromium。它可以用于自动使用网页和测试网页。cdp4j默认情况下可以完全运行,但可以配置为运行无头Chrome或Chro…

Spring Cloud Eureka 服务注册中心怎么配置

Eureka,这里是 Spring Cloud Eureka 的简称,是 Spring Cloud Netflix 组件之一。Spring Cloud Netflix 中核心的组件包括了服务治理(Eureka),服务容断(Hystrix),路由(Zuu…

hypermesh和lsdyna联合仿真计算某汽车座椅进行的头冲吸能实验

导读:本案例运用hypermesh和lsdyna联合仿真,主要是针对某座椅进行的头冲吸能实验的仿真计算。这个工况考察座椅背部的塑料件的破坏情况,以及头部模块的加速度情况,达到保护人头部的效果。 本案例用户可以学习到: 1…

大学生程序设计创新实践基地2022年冬季校赛(NPU ACM Winter Contest)

大学生程序设计创新实践基地2022年冬季校赛(NPU ACM Winter Contest) 总述 总体考察对于板子的熟练变换,以及考察离谱地使用python和对getchar()以及EOF的基础掌握程度。 B,D,E是防AK题目。 题解 A死锁 ​ input…

【第九章 SQL优化_插入数据,主键优化,order by优化】

第九章 SQL优化_插入数据,主键优化,order by优化 1.插入数据: (1)insert: (1)批量插入数据: Insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); (2&am…

PyTorch(五)神经网络基础

文章目录Log一、Containers 基本骨架1. Module2. Sequential二、 Convolution Layers 卷积层1. torch.nn.functional① Conv2d2. torch.nn① Conv2d三、Pooling layers 池化层1. nn.MaxPool2d 下采样(最大池化)四、Non-linear Activations 非线性激活1. …

2022CCSP T1最少充电次数

记录第一次CCSP竞赛。一共3题,只做出第一题,用时3h30m(累),ac了开心地吃了个午饭。然而饭饱之后,大脑完全提不起神看着题面昏昏欲睡。第二题是虚拟内存,超级大模拟,刚好这个学期学os…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java流浪动物救助网站a1wsz

毕业设计也不需要做多高端的程序,毕业设计对于大多数同学来说,为什么感觉到难,最重要的一个原因,那就是理论课到实践课的转变,很多人一下不适应,本能开始拒绝,如果是一个考试,大家都…

ITU、MCC和MNC介绍以及China运营商对照表

相关概念 ITU 国际电信联盟是联合国负责信息通信技术(ICT)事务的专门机构。 国际电联成立于1865年,为了促进国际上通信网络的互联互通。他们进行全球无线电频谱和卫星轨道的划分,制定技术标准以确保实现网络和技术的无缝互连&…

【Docker】30条Docker常用命令图文举例总结

本期目录1. 帮助启动类命令2. 镜像命令2.1 列出镜像2.2 搜索远程库镜像2.3 拉取镜像2.4 查看所占空间2.5 删除镜像2.6 面试题3. 容器命令3.1 新建启动容器1)启动交互式容器3.2 列出当前所有正在运行的容器3.3 退出容器3.4 启动已停止的容器3.5 重启容器3.6 停止容器…

第六章 映射:Mappings

文章目录1、Mapping 简介1.1 mapping 是啥?1.2 如何查看索引映射2、自动映射:dynamic mapping2.1 自动类型推断规则2.2 mapping 的使用禁忌2.3 自动映射器的意义是什么?3、手动映射:Explicit mapping3.1 创建索引的 mapping3.2 修…

电子产品量产工具项目开发中遇到的问题(更新......)

1、找不到tslib.h库的头文件 这是因为找不到tslib库的头文件。 确定工具链中头文件、库文件目录,对于 IMX6ULL ,命令如下 echo main(){}| arm-linux-gnueabihf-gcc -E -v -找到了编译器arm-linux-gnueabihf的include和lib文件夹 /usr/local/arm/gcc-l…

AT155 高压绝缘电阻测试仪 都有哪些功能?

、 高压绝缘电阻测试仪是—款手持式仪表主要用来测量交流/直流电压、 电阻、 短路蜂鸣测试和 绝缘电阻测量。 式高压绝缘电阻测试仪具有4个量程用千绝缘电阻、 AC/DC电压、 电阻和短路蜂鸣测试。 设计达到以下安全标准 .绝缘测试量程O.lMn to 60Gn。…

机器学习 决策树基础 ID3、C4.5、CART

文章目录参考决策树指标基尼系数基础公式公式理解引入划分后的公式划分后公式的理解信息熵、信息增益如何理解信息熵两种指标的对比划分策略ID3定义举例计算各属性的信息增益选取最优属性作划分对子节点作递归划分生成结果ID3的缺点C4.5信息增益率优化缺点CARTCART相较于前两者…

Windows下使用C语言创建定时器并周期和网络调试助手通信

在Windows C下采用timeSetEvent函数来设置定时器 关于timeSetEvent的函数原型及注释如下所示: MMRESULT timeSetEvent(UINT uDelay, // 定时事件的触发周期,单位为毫秒UINT uResolution, // 定时事件的精度,单位…

161-183-mysql-高级篇-事务-锁-mvcc

116-mysql-事务篇-锁: 推荐网站 mysql学习网站:https://www.bilibili.com/video/BV1iq4y1u7vj?p109&vd_source39a1ba1654411bc9ab90f6f2926600b7 mysql:https://dev.mysql.com/doc/refman/8.0/en/ 算法:https://www.cs.us…

我看世界杯——来自一个“假”球迷视角

世界杯还有一个星期就要结束了,说实话,我之前是一场球都没有,对足球知道也甚少,妥妥一个假球迷了。这次世界杯感觉离自己特别近,身边的很多朋友都在看,也不乏赌球的小伙伴,自己的感悟也比较深&a…

电机定子模态的空间特征

对于电机定子模态而言,通常不是按传统的阶次顺序(按频率从小到大)来描述它们,而是按空间节点数的顺序来描述,这在很大程度上是因为受激励的电磁力波的振型的影响。 1、传统模态阶次表示方式 传统模态阶次的顺序都是按…