【STM32】CubeIDE下载安装使用全记录

news2025/4/8 1:30:25

文章目录

    • 0 前言
    • 1 下载安装
    • 2 基本使用
      • 2.0 编译下载
      • 2.1 字体和代码高亮设置
      • 2.2 快速格式化代码
      • 2.3 快速定位函数/变量的声明和定义
      • 2.4 设置代码折叠
      • 2.5 生成hex文件
    • 3 设置代码自动提示
    • 4 设置中文界面
    • 5 遇到的问题和解决办法

0 前言

  作为ST官方主推的集成开发环境(IDE),STM32CubeIDE还是非常好用的,之前一直都是使用Keil开发,甚至HAL库,都是使用Keil开发,但后来发现 ①图形化界面和代码放到一起真的很方便;②Cube IDE的编辑器比Keil的编辑器好用多了。基于此,果断转向Cube IDE(HAL库)。

1 下载安装

  这种软件肯定直接官网下载,但是现在官网下载需要登录账户。

在这里插入图片描述

2 基本使用

2.0 编译下载

在这里插入图片描述

  • 锤子按钮:编译
  • 播放按钮:下载运行
  • 虫子按钮:Debug,仿真运行,要求连接仿真器

2.1 字体和代码高亮设置

  代码编辑器的颜值还是非常重要的,直接影响了码代码的体验。因此建议正式使用之前按照自己的喜好先配置一下字体和代码的高亮。

  点击菜单栏Windows->Preference进行配置。
在这里插入图片描述

设置字体

在这里插入图片描述

设置主题和代码高亮

在这里插入图片描述

主题的颜色可以参考一些知名的代码主题,一般分亮背景和暗背景两类,根据自己的喜好选择。
字体推荐使用编程专用的混合字体,如Fira Code + YaHei

2.2 快速格式化代码

  图形化配置生成的代码默认的缩进是2字符,但是个人的喜好是缩进4字符,所以对于快速格式化还是有比较强的需求的(每次重新生成格式都会复原)。关于这个,首先需要设置好你想要的代码格式:
  还是打开上面那个Preference:
在这里插入图片描述

选定格式化方式之后,就是找找快捷键了。可以直接在Preference的搜索框中搜索Key:

在这里插入图片描述

可以看到,默认的格式化的快捷键是 Ctrl Shift F ,如果觉得用得习惯的可以记一下,如果有自己的使用习惯也可以在这里修改。

2.3 快速定位函数/变量的声明和定义

  定位函数的声明和定义是开发过程中十分常用的功能,相比于Keil中需要按快捷键,在STM32CubeIDE中只需要按住Ctrl,再单击鼠标左键即可。如下图所示。
请添加图片描述

2.4 设置代码折叠

  当一个文件的函数比较多或者层级很复杂的时候,可以设置代码折叠,帮助快速理清楚代码结构。还是在Preference中:

在这里插入图片描述

2.5 生成hex文件

  在实际开发时,不能保证手边都有ST-Link,那么串口下载也是一种便捷的下载程序的方式,如果是串口下载,那么就需要导出hex文件,这个需要简单设置一下。打开Project的Preference(注意和Window的Preference区分):

在这里插入图片描述

设置完成之后重新编译即可。

参考链接

3 设置代码自动提示

  在编辑代码过程中,按下 Alt + / 可以显示代码提示,但是每次都按有点太不方便了,有没有什么办法让它自动提示呢?截止发文,ST官方应该是没有做,但是网上有流传的文件,只需要替换掉原安装目录中的文件即可。

  • 下载链接
    • 链接1 - CSDN(特地设置成0积分)
    • 链接2 - 百度网盘(不保证有效)

  下载完成之后,在cube IDE安装目录下找到对应的jar包,名称是org.eclipse.cdt.ui_xxxxxxxx(xxxxx是一串数字),如果数字不对应,需要将下载的文件重命名为安装目录下对应文件一样的名字,然后再将重命名后的文件拖到安装目录进行替换。

参考链接

4 设置中文界面

  由于STM32CubeIDE是基于Eclipse开发的,其本身的软件生态就非常丰富,当然也包括以插件的形式设置中文界面。
  首先需要添加“软件源”:

https://archive.eclipse.org/technology/babel/update-site/R0.20.0/2022-12/

在这里插入图片描述
再点击accept就可以安装了,等待安装完成之后再重新打开,就是中文界面了,点击安装之后,注意看右下角的进度条,不要没安装完就重启软件,会安装失败的。

参考链接

不建议轻易汉化,实在影响开发效率可以考虑。

5 遇到的问题和解决办法

  • undefined reference to
    这个有可能是在新添加文件之后编译出现的报错,这是因为新添加的文件没有包含进项目,需要对项目进行简单配置。
    在这里插入图片描述
    在这里插入图片描述

    参考链接

  • stm32cubeide program file does not exist
    遇到这种情况,是因为我强行修改了工程所在的文件夹,然后导致一些配置文件和工程不够匹配。建议是把launch文件都删除,同时把debug文件夹也删除,然后重新打开ioc文件,并重新生成代码
    在这里插入图片描述
    ——结论:芯片有问题,换完芯片解决

  • 代码中出现中文乱码
    遇到乱码肯定是编码方式不对,设置一下就好了。是设置Project的Preference。
    在这里插入图片描述
    如果下拉没有GBK,直接键盘输入即可。

    参考链接

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

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

相关文章

深入浅出 Go 语言的 GPM 模型(Go1.21)

引言 在现代软件开发中,有效地利用并发是提高应用性能和响应速度的关键。随着多核处理器的普及,编程语言和框架如何高效、简便地支持并发编程,成为了软件工程师们评估和选择工具时的一个重要考量。在这方面,Go 语言凭借其创新的并…

单调栈——AcWing.830单调栈

单调栈 定义 单调栈是一种特殊的数据结构,栈内元素保持某种单调性(通常是单调递增或单调递减)。 运用情况 求解下一个更大元素或下一个更小元素。计算每个元素左边或右边第一个比它大或小的元素。 注意事项 要明确单调栈是递增还是递减…

七、IP路由原理和路由引入

目录 一、IP路由原理 二、路由引入 2.1、双点双向路由引入 2.2、路由回灌 三、路由策略与路由控制 路由匹配工具(规则) ACL IP前缀列表 路由控制工具(控制) 策略工具1 策略工具2 搭配组合 组…

CCAA质量管理【学习笔记】​ 备考知识点笔记(一)

第一部分 质量管理体系相关标准 《质量管理体系基础考试大纲》中规定的考试内容: 3.1质量管理体系标准 a) 了解 ISO 9000 系列标准发展概况; b) 理 解 GB/T19000 标准中涉及的基本概念和质量管理原则; c) 理 解GB/T19000 标准中的部分…

mybatis中SQL语句运用总结

union 连接查询 连接两个表后会过滤掉重复的值 <resultMap id"BaseResultMap" type"com.sprucetec.pay.etl.model.BillDetail"><id column"id" jdbcType"INTEGER" property"id"/><result column"pay_…

Docker中部署Jenkins+Pipline流水线基础语法入门

场景 DockerCompose中部署Jenkins&#xff08;Docker Desktop在windows上数据卷映射&#xff09;&#xff1a; DockerCompose中部署Jenkins&#xff08;Docker Desktop在windows上数据卷映射&#xff09;-CSDN博客 DockerComposeJenkinsPipeline流水线打包SpringBoot项目(解…

深度剖析淘宝扭蛋机源码:打造趣味性电商活动的秘诀

在当今电商市场中&#xff0c;如何吸引用户的注意力、提升用户的参与度成为了各大电商平台竞相追求的目标。淘宝扭蛋机作为一种新型的电商活动形式&#xff0c;以其趣味性和互动性深受用户喜爱。本文将深度剖析淘宝扭蛋机源码&#xff0c;探讨其如何打造趣味性与互动性并存的电…

数仓建模—OLTP 和 OLAP

数仓建模—OLTP 和 OLAP 前面我们在数仓建模—数仓初识 中提到了OLTP 和 OLAP 两个概念 OLAP 是 On-Line Analytical Processing(联机分析处理)的缩写。广义的 OLAP 泛指数据查询分析,像报表、即席查询、多维分析都属于 OLAP 的范畴。 OLTP 和 OLAP 最大区别在于前者会产…

C++入门 vector介绍及使用

目录 vector的介绍及使用 vector常用接口的介绍及使用 vector的定义 vector iterator 的使用 vector 空间增长问题 vector 增删查改 push_back/pop_back insert & erase & find operator[ ]的遍历 vector的介绍及使用 vector的文档介绍 vector是表示可变大…

DevOps学习回顾01-技能发展路线-岗位能力-体系认知(射箭和拉弓的区别)

事为先&#xff0c;人为重–事在人为 参考来源&#xff1a; 极客时间专栏&#xff1a;DevOps实战笔记&#xff0c;作者&#xff1a;石雪峰 课程链接&#xff1a;https://time.geekbang.org/column/intro/235 时代的典型特征 VUCA VUCA 是指易变性&#xff08;Volatility&…

都说可视化设计是面向B端的点睛之笔,看到这些,我信了。

抽象复杂的B端系统&#xff0c;如果用可视化图表/逻辑图表现处理来 &#xff0c;那对于系统来说绝对是画龙点睛之笔&#xff0c;大美B端工场带领大家感受一下。 图形可视化设计在B端系统中被认为是点睛之笔的理由如下&#xff1a; 1. 提升数据可理解性&#xff1a; B端系统通…

代码随想录——组合总和(Leetcode LCR81)

题目链接 回溯 class Solution {List<List<Integer>> res new ArrayList<List<Integer>>();List<Integer> list new ArrayList<Integer>();public List<List<Integer>> combinationSum(int[] candidates, int target) {b…

Java——面向对象进阶(三)

前言&#xff1a; 抽象类&#xff0c;接口&#xff0c;内部类 文章目录 一、抽象类1.1 抽象方法1.2 抽象类1.3 抽象类的使用 二、 接口2.1 接口的定义和实现2.2 default 关键字2.3 实现接口时遇到的问题 三、内部类3.1 成员内部类3.2 静态内部类3.3 成员内部类3.4 匿名内部类&a…

qmt量化交易策略小白学习笔记第32期【qmt编程之获取行业概念数据--如何获取迅投行业成分股数据】

qmt编程之获取迅投行业成分股数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取迅投…

大模型是什么?能干嘛?怎么学?

引言 随着人工智能技术的飞速发展&#xff0c;大模型研究已成为该领域的一大热点。这些研究覆盖了众多方向&#xff0c;每个方向都面临着独特的研究焦点和挑战。本文将逐一探讨一些备受关注的研究方向&#xff0c;包括检索增强生成RAG、大模型Agent、Mamba、MoE、LoRA等&#…

Star-CCM+自动网格执行方法与设置技巧

在Star中进行一个仿真项目时,有时会创建多个自动网格。网格创建结束后需要执行。在Star中,网格执行可以分为三种。分别是:单独执行操作;多个执行操作;全部执行操作。接下来将三种执行操作的方法与步骤进行介绍。 其次,如果不习惯用自定义控制网格,有时在一个项目中就会…

new Set( )的基本使用以及如何去重对象数组

目录 Set 对象方法 Set 对象作用 实现数组的去重 实现字符串的去重 实现并集 交集 差集 实现去重对象数组 相关参考资料 在 ES6 中&#xff0c;引入了一个新的数据结构类型&#xff1a;Set。而 Set 与 Array 的结构是很类似的&#xff0c;且 Set 和 Array 可以相互进…

散文:乡村回忆

散文&#xff1a;乡村回忆 在记忆的长河中&#xff0c;旧时代如同一本泛黄的相册&#xff0c;静静地躺在时光的角落。每当我翻开那些尘封的照片&#xff0c;那些遥远而又熟悉的画面便跃然纸上&#xff0c;带我回到了那个纯真的年代。 那时的天空总是那么蓝&#xff0c;那么纯…

基于python-CNN的常见鱼类分类识别-含数据集+pyqt界面

代码下载地址&#xff1a; https://download.csdn.net/download/qq_34904125/89383072 本代码是基于python pytorch环境安装的。 下载本代码后&#xff0c;有个requirement.txt文本&#xff0c;里面介绍了如何安装环境&#xff0c;环境需要自行配置。 或可直接参考下面博文…

海豚调度异常处理: 使用 arthas 在内存中删除启动失败的工作流

&#x1f4a1; 本系列文章是 DolphinScheduler 由浅入深的教程&#xff0c;涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。祝开卷有益。大数据学习指南 大家好&#xff0c;我是小陶&#xff0c;DolphinSch…