当前位置: 首页 > news >正文

STM32CubeIDE学习——安装

STM32CubeIDE学习——安装

  • STM32CubeIDE是什么
  • 下载
  • 安装
  • 初次使用
    • 新建一个项目
  • 优化
    • 汉化
    • 代码补全

STM32CubeIDE是什么

描述
STM32CubeIDE是一体式多操作系统开发工具,是STM32Cube软件生态系统的一部分。

STM32CubeIDE是一种高级C/C++开发平台,具有STM32微控制器和微处理器的外设配置、代码生成、代码编译和调试功能。它基于Eclipse®/CDT™框架和用于开发的GCC工具链,以及用于调试的GDB。它支持集成数以百计的现有插件,正是这些插件使Eclipse® IDE的功能趋于完整。

STM32CubeIDE集成了STM32CubeMX的STM32配置与项目创建功能,以便提供一体化工具体验,并节省安装与开发时间。在通过所选板卡或示例选择一个空的STM32 MCU或MPU,或者预配置微控制器或微处理器之后,将创建项目并生成初始化代码。在开发过程的任何时间,用户均可返回外设或中间件的初始化和配置阶段,并重新生成初始化代码,期间不会影响用户代码。

STM32CubeIDE包含相关构建和堆栈分析仪,能够为用户提供有关项目状态和内存要求的有用信息。

STM32CubeIDE还具有标准和高级调试功能,其中包括CPU内核寄存器、存储器和外设寄存器以及实时变量查看、串行线传输监测器接口或故障分析器的视图。
以上内容来自ST官网:链接

下载

点击上面链接进入官网,选择最新版本下载即可,有ST账号的登录ST账号,没有的选择访客下载,填写邮箱后下载链接会发送到邮箱,复制过来下载即可。
在这里插入图片描述

安装

安装没什么难度,新手直接全程下一步即可。
在这里插入图片描述

第一次打开会提示设置一个工作空间,看自己,整个路径不能有中文
在这里插入图片描述

初次使用

软件打开后界面如图
在这里插入图片描述
右边是项目文件视图,中间是编辑视图,右边是导航,下面分别为输出视图和各种工具

新建一个项目

File->New->STM32 Project新建一个项目,如果用现有的cubeMX文件生成就选下一个就行。
在这里插入图片描述
等一会儿会出来一个选择芯片的界面,左边输入想要的型号就行了,如果不知道型号,新选型的话,可以自己选择接口,Flash大小等,右边是符合条件的芯片,选择好选择Next进行下一步。
在这里插入图片描述
下一步需要填入项目名称,下面是选择C语言还是C++项目,填完项目名称点Finish就行
在这里插入图片描述
接下来就进入了STM32CubeMX的界面,根据需要进行配置就行。
在这里插入图片描述
这里有一点需要注意,需要打
System Core->SYS->Debug,选择Serial Wire,否则会导致程序运行起来以后无法通过SWD接口下载程序,需要在重启的空挡下载程序。

在这里插入图片描述
时钟我这边选外置高速晶振,在System Core->RCC里,HSE选第三个。
在这里插入图片描述
暂时其他不用设置了,到Clock Configuration配置时钟,根据需要,我这边选最大72MHz。
在这里插入图片描述
Project Manager下是项目相关内容,可以设置堆栈大小等,在Code Generator下是配置相关内容,一般会选择单独生成.c/.h文件。
在这里插入图片描述
配置完后直接保存,软件会自动生成相应代码并打开main.c。左边就可以看到生成的项目。Drivers下的文件一般不用管,我们要写的代码都在Core里。
在这里插入图片描述
点左上角的锤子即可编译构建,有两个选项,DebugRelease,在目前的项目里,这俩毫无区别。
我这里选Release进行编译。
编译完成后底下的Console会输出编译结果,报错也在这里显示,底下的右边会显示FlashRAM的空间占用情况.
在这里插入图片描述
注意: 写代码只能在USER CODE BEGINUSER CODE END之间写,在其他地方写的代码会在重新生成代码时被删掉。
在这里插入图片描述

优化

汉化

对于我这种英语学渣来说,一个纯英文版本的软件是肯定玩不转的,所以必然是需要汉化的。参考链接
在这里插入图片描述
在这里插入图片描述
个人经验,这一步有概率失败,失败后直接重来即可。

代码补全

STM32CubeIDE无代码补全,在编程时十分不方便,参考博主清水 汐的博客搞定,链接
在这里插入图片描述

http://www.dtcms.com/a/393062.html

相关文章:

  • 追觅宣布进军手机市场,已经白热化的手机赛道追觅优势何在?
  • AI智能体开发工作流的成功案例分享及思路
  • 【算法基础】String、Hash 与 Stack
  • 使用springboot开发一个宿舍管理系统练习项目
  • 像素版推箱子游戏
  • 2025年CSP-J认证 普及组初赛真题解析 CCF信息学奥赛C++ 中小学初级组 第一轮真题-选择题解析
  • 【精品资料鉴赏】121页可编辑PPT详解医药集团合规管控规划方案
  • Linux用户权限与进程管理深度解析
  • [数据结构] 反射,枚举与lambda表达式
  • 奇异值:数据科学的数学基石与应用核心
  • Python 2025:安全编程与漏洞防范实战指南
  • ​​[硬件电路-286]:高速轨到轨比较器TLV3603DCKR 功能概述与管脚定义
  • CAR 细胞疗法:破解自身免疫性疾病的 “免疫纠错” 新路径
  • FreeRTOS实战指南 — 5 多任务系统实现流程
  • `css`使单词保持连贯的两种方法
  • 【Vue3 ✨】Vue3 入门之旅 · 第三篇:模板语法与数据绑定
  • 分类预测 | Matlab实现PCA-BP主成分分析结合BP神经网络多特征分类预测
  • 【Linux】进程优先级切换调度
  • Ubuntu24上安装Scrapy框架实战
  • 正向shell,反弹shell学习
  • 一维数组原地更新——力扣119.杨辉三角形II
  • Python语法学习-1
  • Linux基础命令大全
  • 9.21 快速选择
  • 【常见集合】HashMap
  • Docker安装小白教程(阿里yum)
  • MySQL表结构变更详解:ALTER TABLE ADD COLUMN语法、最佳实践与避坑指南
  • 【LeetCode - 每日1题】设计电子表格
  • Spring 中 REQUIRED 事务的回滚机制详解
  • C++框架中基类修改导致兼容性问题的深度分析与总结