从零开始搭建STM32CubeMX开发环境

news2024/10/5 17:22:51

本文记录一下如何从零开始使用STM32CubeMX,包括软件的安装,环境的搭建,配置代码的生成等;
本文以STM32G030C8T6为例,如果你的单片机不是以STM32G030C8T6为例,换成你的单片机类型即可,过程都是通用的;

文章目录

  • 一、STM32CubeMX 介绍
  • 二、安装JAVA运行环境
  • 三、安装STM32CubeMX 软件
  • 四、安装STM32CubeMX 库
    • 4.1 在线安装
    • 4.2 离线安装

一、STM32CubeMX 介绍

STM32CubeMX 是意法半导体推出的针对STM32 系列芯片的图形化配置工具,通过简单的操作便能实现相关
配置,生成一个完整项目,包含所有必需的库和初始化C 代码,支持多种工具链,比如MDK、IAR For
ARM、TrueStudio 等。

STM32CubeMX 有以下主要特性:
1.微控制器选择方便,覆盖整个STM32 产品。
2.可从一系列意法半导体的开发板中选择板子。
3.微控制器配置简单(引脚、时钟树、外设、中间件)以及生成对应的初始化C 代码,凭借
STM32CubeMX 内置的STM32 微控制器、外设和中间件(LwIP 和USB 通信协议栈,
用于小型嵌入式系统的FatFs 文件系统,FreeRTOS),移植时间大大缩短。
4.将以前保存的配置导入新的MCU 项目即可轻松地转换到其他微控制器。
5.将当前配置轻松地导出到兼容的MCU,生成配置报告。
6.为一系列集成开发环境工具链生成嵌入C 项目 STM32CubeMX 项目包括生成的初始化
C 代码、兼容MISRA 2004 的HAL 驱动程序、用户配置所需的中间件协议栈,以及在选择
的IDE 中打开和编译项目的所有相关文件。

简介:

STM32CubeMX是一款由STMicroelectronics开发的强大而全面的软件工具,用于帮助开发人员快速而简便地配置和初始化STMicroelectronics的STM32微控制器。

STM32CubeMX提供了一个直观易用的图形用户界面(GUI),使开发人员能够轻松地生成STM32微控制器的启动代码,并进行必要的硬件和软件配置。它支持跨多个STM32系列,涵盖了广泛的功能和性能选项。

通过STM32CubeMX,开发人员可以通过简单且交互式的方式来配置各种外设和时钟源,包括GPIO、UART、SPI、I2C、ADC、定时器等等。该工具还提供了通过直观的界面配置中断、DMA、电源管理和时钟树等重要设置的能力。

STM32CubeMX还支持自动生成基于ARM CMSIS(Cortex Microcontroller Software Interface Standard)标准的启动文件和外设驱动库。这些库为开发人员提供了丰富的API和示例代码,以便更快地开始开发应用程序,加速产品上市时间。

此外,STM32CubeMX集成了一组先进的代码生成功能,包括RTOS(实时操作系统)集成、调试和日志记录。开发人员可以选择使用可选的RTOS,并在生成的代码中针对常见RTOS进行配置。该工具还可生成检测冲突和错误的报告,并提供了一些自动优化选项,以实现最佳性能和资源利用。

对于项目专家而言,STM32CubeMX提供了一种快速启动新项目或调整现有项目的方式。通过选择适当的STM32系列和外设配置,在图形界面中设置所需的选项,开发人员可以通过简单的几步就生成一个完整且可立即使用的项目框架。这大大减少了项目初始化和配置的时间和复杂性。

总之,STM32CubeMX是一款功能强大、易于使用的软件工具,为开发人员提供了简化和加速STM32微控制器开发过程的便捷方式。它通过图形界面和自动生成代码等特性,使得硬件和软件配置变得更加简单和可靠,从而提高了产品开发的效率和质量。

二、安装JAVA运行环境

JAVA运行环境的安装包链接:https://download.csdn.net/download/AnChenliang_1002/87989908,点击下载,是jre-8u291-windows-x64,以管理员身份运行 jre-8u291-windows-x64.exe(如下图),然后直接点安装(如下图),最后提示您已成功安装Java 说明JAVA 运行环境已经安装成功(如下图):

在这里插入图片描述
在这里插入图片描述

三、安装STM32CubeMX 软件

从官网(https://www.st.com/en/development-tools/stm32cubemx.html)下载STM32CubeMX;

解压之后, 以管理员身份运行,然后直接点Next,后面如图所示一直按Next,无需修改安装路径,最后提示您已成功安装完成,再点击Done,完成安装。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、安装STM32CubeMX 库

4.1 在线安装

STM32CubeMX 库(固件支持包)的安装支持在线安装:
以STM32G030C8T6 单片机为例进行库安装:

  1. 双击STM32CubeMX 可执行程序

在这里插入图片描述

  1. 选择菜单Help 下面的Manage embedded software packages

在这里插入图片描述
3. 找到图2.13 所示箭头1 所示的STM32G0,选择箭头2 所示Package of STM32G0 Series 打钩,再点击箭头3 所示Install

在这里插入图片描述

4.安装过程中会有进度条显示

在这里插入图片描述

如果安装成功,原先打钩地方会变成绿色方框,点击CLOSE 完成安装

在这里插入图片描述
如果安装失败,则使用离线安装的方式进行安装

在这里插入图片描述

4.2 离线安装

官网下载比较麻烦,可以直接点击我的链接(https://download.csdn.net/download/AnChenliang_1002/87990275)进行下载;

官网下载地址: https://www.st.com/content/st_com/en/ecosystems/stm32cube-ecosystem.html

点击链接后一直向下滑动会看到这个界面:
在这里插入图片描述

然后点击STM32CubeG0,跳转到新页面点击Get Software下载软件,按照页面提示填写姓名邮箱等信息,然后通过邮箱收到的链接点进去下载:

在这里插入图片描述

下载后不要解压,打开STM32CubeMX, 选择菜单Help 下面的Manage embedded software packages

在这里插入图片描述

点击从本地导入,选择刚刚下载的zip包:

在这里插入图片描述

接受许可即可:

在这里插入图片描述

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

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

相关文章

03_单一职责模式

单一职责 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 装饰模式 动态(组合)地给一个对象增…

系统没有“internet信息服务(IIS)管理器”

系统没有“internet信息服务(IIS)管理器” 解决方案1.打开控制面板,找到并打开程序。2.找到并打开程序里的启用或关闭windows功能。3.在‘Internet Information Services’下的‘web管理工具’中找到IIS相关功能,在前面的复选框中…

探索数字孪生世界:市场上五款炙手可热的数字孪生产品介绍

山海鲸可视化:山海鲸可视化是一款国内领先的数字孪生软件,具有强大的GIS功能和可视化效果,广泛应用于城市规划、建筑设计和智慧城市等领域。 华为云数字孪生:华为云数字孪生平台提供了全面的数字化解决方案,包括智慧城…

链表中倒数第k个结点(快慢指针问题)

⭐️ 往期相关文章 💫链接1:leetcode 876.链表的中间结点(快慢指针问题) 💫链接2:leetcode 206.反转链表 💫链接3:leetcode 203.移除链表元素 💫链接4:数据结构-手撕单链表代码详解…

实训笔记7.4

实训笔记7.4 7.4一、座右铭二、IDEA集成开发环境的安装和使用三、DEBUG断点调试四、Java设计模式4.1 适配器模式4.2 动态代理模式4.3 单例设计模式 五、Java中网络编程5.1 网络编程三个核心要素5.2 TCP网络编程 六、基于网络编程的聊天系统6.1 需求分析6.2 系统设计6.2.1 概要设…

解放运营人员:钡铼技术S475物联网网关实现养殖环境的远程监控与告警

在养殖行业中,对环境参数的精确监测与控制至关重要。然而,传统的监测方法往往存在诸多痛点,如数据采集不准确、传输速度慢、可视化效果差等。为了解决这些问题,钡铼技术公司推出了其旗舰产品——S475多功能RTU,该产品在…

如何利用思维导图提高项目管理效率

思维导图 是一种强大的工具,可以帮助我们更好地组织和管理项目。它是一种以图形方式展现思维和概念之间关系的方法,通过将主题、子主题和分支串联起来,帮助我们清晰地了解任务的层次结构和相互关系。在项目管理中,思维导图可以帮助…

数据生成实体类解决方案

文章目录 数据生成实体类解决方案 简介工作原理解析JSON生成实体类示例JSON消息解析JSON核心方法:调用示例:将数据保存到实体类中。将实体类转为输出为JSON。 思考 数据生成实体类解决方案 直接将xml导入到Studio里即可。下载文件连接: CSDN…

GPIO点灯

简述:本人使用教材为《嵌入式系统原理与应用》,GPIOCON控制输出,GPIODAT控制高电平和低电平,高电平点亮,低电平熄灭。

【若依】框架搭建,前端向后端如何发送请求,验证码的实现

若依框架 若依框架(Ruoyi)是一款基于Spring Boot和Spring Cloud的开源快速开发平台。它提供了一系列的基础功能和通用组件,能够帮助开发者快速构建企业级应用。若依框架采用了模块化的设计理念,用户可以选择需要的功能模块进行集…

全网最全,华为可信专业级认证介绍

1:华为可信专业级认证是什么? 华为在推动技术人员的可信认证,算是一项安全合规的工作。专业级有哪些考试呢?共有四门: 科目一:上级编程,对比力扣2道中等、1道困难; 科目二&#xff…

C++ STL --哈希表

目录 1. unordered系列关联式容器 1.1 unordered_map 1.1.1 unordered_map的文档介绍 1.1.2 unordered_map的接口说明 1.2 unordered_set 1.3 在线OJ 2. 底层结构 2.1 哈希概念 2.2 哈希冲突 2.3 哈希函数 2.4 哈希冲突解决 2.4.1 闭散列 2.4.2 开散列 3. 模拟实现…

中学生用什么样护眼台灯好?适合暑假学习的护眼台灯推荐

终于到了暑假,本来是有大把的“娱乐”时间,可现在看来此“娱乐”和正常出门玩耍的娱乐不太一样。不管是大学生还是中小学生,不少孩子不再出门玩耍,而是宅在家空调WiFi西瓜,抱着手机往那一趴。加上平时还需要抽出时间完…

DatenLord前沿技术分享 No.29

达坦科技专注于打造新一代开源跨云存储平台DatenLord,通过软硬件深度融合的方式打通云云壁垒,致力于解决多云架构、多数据中心场景下异构存储、数据统一管理需求等问题,以满足不同行业客户对海量数据跨云、跨数据中心高性能访问的需求。BSV的…

自动化测试selenium篇(二)

需要掌握selenium 常用API的使用 一、元素定位 1.1css选择器语法 1.1.1 类选择器(class选择器) 语法 : .class属性值{} 作用 : 选中对应class属性值的元素 1.1.2 id选择器 语法 : #id属性值{} 作用 : 选中对应id属性值的元素 1.1.3 标签选择器 标签选择器会选择页面上…

https技术鉴赏

视频网址:https://www.bilibili.com/video/BV1uY4y1D7Ng 总结起来:先使用非对称加密,再使用对称加密,这样就避免了明文传输。 非对称加密的作用是协商对称加密的公钥 SSL流程图大概如下: 这只是一个最简单的SSL版本,…

Small Outline Package(小外形封装)和Quad Flat Package(四边引线扁平封装)

1.Small Outline Package(小外形封装) SOP封装图片 SOP技术是飞利浦公司开发成功,以后逐渐派生出SOJ、TSOP、VSOP、SSOP、TSSOP、SOT、SOIC等封装形式。SOP是表面贴装型封装的一种,引脚从封装两侧引出,呈海鸥状形。其…

JS知识点汇总(十一)--事件模型

1. JavaScript中的事件模型有哪些 1、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性, 常见的有加载事件、鼠标事件、自定义事件等 由于DOM是一个树结构,如果在父…

《面向分布式云的直播及点播云技术创新方案》获中国信通院“分布式云技术创新先锋案例”

由中国信息通信研究院、中国通信标准化协会主办的第三届“云边协同大会”于 6 月 30 日在京举办。阿里云视频云团队凭借 《面向分布式云的直播及点播云技术创新方案》 在一众产品服务中脱颖而出,荣获「分布式云技术创新先锋案例」。 面向分布式云技术的直播及点播云…

驱动控制STM32LED灯的两秒,亮灭

控制LED灯的亮灭 head.h #ifndef __HEAD_H__ #define __HEAD_H__#define PHY_LED1_MODER 0X50006000 #define PHY_LED1_ODR 0X50006014 #define PHY_LED2_MODER 0X50007000 #define PHY_LED2_ODR 0X50007014 #define PHY_LED3_MODER 0X50006000 #define PHY_LED3_ODR 0X50006…