STM32 系列MCU 开发利器 STM32CubeIDE

前言

  • 由于自己接触较多的 ARM 系列芯片主要是 STM32 系列的,接触过 STM32 F1、F4、L4、H7 等几个系列,使用的 开发工具,主要是 Keil MDK5、IAR,所以也比较关注开发工具的使用。

  • Keil MDK5、IAR 属于商用收费的功能强大的IDE(集成开发环境),像 STM32 系列的 MCU,也可以使用 eclipse + gcc 这样的免费的开发工具,不过免费的就需要大量的定制化配置,需要花费一些时间,掌握一些开发与使用技巧。

  • 经过验证,发现 ST 官方的 STM32CubeIDE 比较的强大,能满足常用的开发需求,基于 eclipse + gcc 这样的组合,支持 ST-Link、J-Link 调试,可以【替代】 Atollic TrueSTUDIO,并且是免费使用的。

STM32CubeIDE 信息(非官方)

  • 当前下载到的最新版本:STM32CubeIDE 1.16.0

  • 选择的理由: ST 官方的推荐的开发工具,功能上类似于 Keil、IAR 这样的,对 STM32 系列的芯片做了大量的定制,因此非常适合 STM32 系列 MCU 的开发,裸机工程、RTOS 工程都可以,简单与复杂工程都可以

  • 【免费】:eclipse + gcc,并且支持 ST 官方的 ST-Link 调试,也支持常见的 ARM J-Link 调试

  • 【图形配置】:如今像 STM32 系列的 MCU,种类繁多,各个 MCU 配置也是不相同, HAL 库也是非常的庞大,数据手册、参考手册章节很多,一上来估计没有多少人又耐心去查看寄存器、看手册进行开发,图形界面配置,通过简单的配置,就可以生成【系统时钟】【外设】【引脚】等的配置代码,与 HAL 库结合,生成所需的基础驱动代码。用户只需要配置,然后写自己想要的应用,降低了开发难度,同时提高了开发效率,因为工具生成的代码,甚至正确性与一致性由于自己手动编写的代码,一些外设驱动配置,工具生成的反而正确且高效。

  • 既然可以像 Keil MDK5 那样能编辑代码、编译、调试、下载,并且集成了 【图形配置】这样强大的代码生成功能,大大提高了开发的效率,因此如果 STM32 MCU 开发,建议使用 STM32CubeIDE

STM32CubeIDE 下载

  • 进入 st 官方网址,搜索 STM32CubeIDE,也可以搜索 STM32 的某个 MCU 的型号,在 工具软件 栏目找到 STM32CubeIDE

https://www.st.com/en/development-tools/stm32cubeide.html

在这里插入图片描述

  • 需要注册 st 官方的账号,才能顺利下载

STM32CubeIDE 多开

  • STM32CubeIDE 可以【多开】,也就是 使用不同的 【Workspace】 工作区,每次打开 STM32CubeIDE 时,会提示选择 工作区,如果使用不同的工作区,就可以打开多个 STM32CubeIDE 窗口,也就是可以同时 创建管理多个 工程

STM32CubeIDE 创建工程

  • STM32CubeIDE 可以创建新工程,也可以导入工程

  • 接下来使用 STM32CubeIDE 创建一个工程,然后进行编译、调试等

在这里插入图片描述

  • 选择 MCU 的型号,当前使用的是 NUCLEO-L476RG 开发板,基于 STM32 MCU STM32L476RGT6

  • 可以逐个进行配置(类似于 STM32CubeMX),当前为了方便,直接使用 开发板默认配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 然后一步步【Next】,就可以生成 NUCLEO-L476RG 开发板 的例程了

在这里插入图片描述

编译

  • 选择 工程,然后右键,选择 【Build Project】 进行构建(编译)

在这里插入图片描述

在这里插入图片描述

调试

  • 点击调试按钮,选择调试的工程(名字),默认配置是 ST-Link,点击即可启动调试

在这里插入图片描述

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

  • 默认调试的配置如果正确,就可以默认不修改,直接进行调试

在这里插入图片描述

  • 点击调试工具栏上的【单步】【步进】等调试功能按钮,就可以进行调试了

下载

  • 调试时可以 同时下载了固件到 开发板

在这里插入图片描述

  • 点击 工具栏的 【运行】按钮,也可以下载程序

  • 【备注】如果只是单纯 下载,也可以使用 STM32CubeProg 进行下载

小结

  • 本篇主要熟悉 eclipse 开发环境的 STM32CubeIDE,非常适合 gcc 编译环境的下 STM32 的开发,高效便捷

  • 后续尝试使用 STM32CubeIDE 开发 基于 RT-Thread、FreeRTOS 的工程

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB】matlab生成的图像如何导出(三种方法教会你)

我们经常使用matlab生成各类的图,如何将其导出,导出为何种类型。 方法一:选择 matlab 生成的图形界面 " Figure 1 " 的菜单栏 " 编辑 " — " 复制图窗 " , 就可以将图像拷贝到 Word 文档中 打开 Word 文档 ,…

单片机编程魔法师-消息处理

消息机制 消息处理的编程思路是当某件事产生后只发送一条事件产生消息以通知相应执行机构执行的一种编程思路。 消息定义 什么是消息,消息是一个指示,可以是数字,字符串,字符或者是任何形式的其他标识符 消息定义的形式与消息…

简易的 Websocket + 心跳机制 + 尝试重连

文章目录 演示大纲基础 WebSocket前端: 添加心跳机制前端: 尝试重新连接历史代码 还没有写完,bug 是有的,我在想解决办法了… 演示 大纲 基础的 webSocket 连接前后端:添加心跳机制后端无心跳反应,前端尝试重新连接设置重新连接…

计算多图的等价无向图的邻接链表表示

计算多图的等价无向图的邻接链表表示 摘要:一、引言二、算法思路三、伪代码实现四、C代码实现五、算法分析六、结论摘要: 在图论中,多图(Multigraph)是一种允许边重复以及存在自循环边(即一个顶点到其自身的边)的图。给定一个多图的邻接链表表示,本文旨在探讨如何构造…

PHP软件下载-安装-环境配置

.1.下载 下载地址如下 windows.php.net - /downloads/releases/ 安装包如下. .2.安装 可以在D盘或者E盘的根目录创建一个自定义目录。注意文件夹目录中不能包含中文,不能包含空格等特殊字符。 版本说明: (1)ts表示非线程安全版本。这个安装包还指明了…

c++模拟实现数据结构之vector篇

那么本篇文章是带大家一起实现一下数据结构vector,那么我们现在就进入正题。 目录 接口介绍部分 增加 尾插 指定插入与头插 删除 尾删 指定位置删除 主要代码逻辑 增加 尾插 指定插入与头插 删除 尾删 指定位置删除 一些其他接口的代码逻辑 模拟实现…

django企业开发实战-学习小结

写在前面 初次阅读此书是三年前,当时没经历过完整的项目 觉得这书就是扯淡 后来经历过项目加班与毒打 今天再翻开此书 觉得实乃不可多得之物 花些时间啃下来吧 django版本 3.2 本博客开源项目地址 kimsmith/django企业实战 (gitee.com) 有的代码因为版本混乱报错…

Unity 3D学习资料集合

本文包含了unity3D 游戏开发相关的学习资料,包含了入门、进阶、性能优化、面试和书籍等学习资料,含金量非常高,在这里分享给大家,欢迎收藏。 学习社区 1.Unity3D开发者 Unity3D开发者论坛是一个专注于Unity引擎的开发者社区。在这…

VSCode设置复制 Ctrl+D想下复制

VSCode 默认向下复制当前行是 shift Alt ↓,但是我们习惯了IDE和webStrom的CtrlD的想下复制.下面是VSCode自定义快捷键. VSCode设置复制 CtrlD想下复制 1.文件->首选项->键盘快捷方式(ctrk 在案ctrs)2.输入 copy line down->右键->更改键绑定3.完成 1.文件->首…

探索《黑神话:悟空》背后的编程技术

《黑神话:悟空》作为一款备受期待的动作角色扮演游戏,以其卓越的视觉效果和流畅的游戏体验吸引了全球玩家的关注。这款游戏不仅在艺术设计和技术实现上展现了极高的水准,其背后的编程技术更是保证了游戏顺利运行和出色表现的关键因素。在这篇…

低代码技术新趋势——逆向工程

低代码的下一个趋势,应该是“逆向工程”,用户可以通过 可视化界面,逆向输出全栈工程代码。而标准的工程代码同样可以编译为支持可视化分析、编辑、调整的“无代码”程序。前一个是解释性语言向编译性语言的逆向工程。后者则是一个理论实践应用…

如何成为一个飞控算法工程师?

兄弟,这个问题问得好,但也别想着靠看几本书就能一步登天。飞控算法这玩意儿,真要干好了,不是简简单单几个公式几个库就能搞定的。你本科电子专业有点基础,玩过四轴飞行器也算是入门了,但要搞真算法&#xf…

ComfyUI:基于差分扩散的像素级图像修改

在几个月的沉寂之后,差分扩散(Differential Diffusion)被引入了。 玩了几天之后,我仍然对结果感到震惊。 这种新的先进方法允许以像素为基础进行更改,而不是以整个区域为基础进行更改。 另一种可能更通俗的说法&…

PCL-直通滤波

本篇内容: 讲解直通滤波的作用通过pcl实现直通滤波 效果: 1 主要原理 点云数据通常包含x、y、z三个维度的数据,用户指定维度、范围后,直通滤波过滤或保留该范围内的所有点云 假设我指定维度’y’,范围(…

【unity实战】使用新版输入系统Input System+Rigidbody实现第三人称人物控制器

最终效果 前言 使用CharacterController实现3d角色控制器,之前已经做过很多了: 【unity小技巧】unity最完美的CharacterController 3d角色控制器,实现移动、跳跃、下蹲、奔跑、上下坡、物理碰撞效果,复制粘贴即用 【unity实战】C…

Ubuntu 24.04部署Wordpress

环境: Ubuntu 24.04 PHP 8.1.2-1ubuntu2.18 Nginx/1.18.0 (Ubuntu) WordPress 6.6.1 Mysql 8 文章目录 1. 安装php2. 配置nginx2.1. 安装nginx2.2. 配置 3. 下载wordpress3.1. 配置wordpress 4. mysql配置wordpress数据库和用户4.1. 安装和远程连接4.2. 创建wordpre…

【论文笔记】独属于CV的注意力机制CBAM-Convolutional Block Attention Module

目录 写在前面 一、基数和宽度 二、通道注意力模块(Channel Attention Module) 三、空间注意力模块(Spatial Attention Module) 四、CBAM(Convolutional Block Attention Module) 五、总结 写在前面 …

Photomator 3.3.22 (macOS Universal) - 照片编辑软件

Photomator 3.3.22 (macOS Universal) - 照片编辑软件 适用于 Mac、iPhone 和 iPad 的终极照片编辑器 请访问原文链接:https://sysin.org/blog/photomator/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Photoma…

LeetCode_sql_day20(1398.购买了产品A和产品B却没有购买产品C的顾客)

描述: Customers 表: ------------------------------ | Column Name | Type | ------------------------------ | customer_id | int | | customer_name | varchar | ------------------------------ customer_id 是这张表中具有唯一…

浏览器播放RTSP流,支持H264、H265等格式,支持IE、Chrome等浏览器

目录 背景 解决方案 效果 代码 前端代码 后端代码 下载 背景 项目中需要在浏览器中播放RTSP流,实在是不想折腾ActiveX控件 1、麻烦(开发麻烦、使用时设置也麻烦) 2、非IE浏览器不兼容 解决方案 使用OpenCvSharpNancy写一个解码服…