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

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.kler.cn/news/292656.html

相关文章:

  • webview无法加载http流量及Expo修改Android权限
  • MyBatis 一级缓存原理
  • 启动spring boot项目时,第三方jar包扫描不到的问题
  • 异步编程学习
  • Java项目:142 基于springboot的实习管理系统
  • flutter Image
  • 浏览器百科:网页存储篇-如何在Chrome中打开Cookie(二)
  • Stirling-PDF:基于Web的开源PDF处理工具
  • 利用ChatGPT完成2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整思路
  • Linux与windows系统之间的文件共享方案-Samba
  • 单元测试、系统测试和集成测试知识详解
  • RPC使用的关键技术
  • 学习关系型数据库:在Ubuntu和FreeBSD下安装firebird
  • LLM 进化分岔口:多模态、成本、代码推理
  • Qt获取当前系统时间、系统时间戳
  • 开源链动 2+1 模式 AI 智能名片 O2O 商城小程序在直播电商时代的崛起
  • mysqlclient 1.4.3 or newer is required; you have 1.0.3
  • 2024年全国大学生数学建模比赛思路、题目、代码
  • 14、Django Admin的“Action(动作)”中添加额外操作
  • 数据结构-双链表-详解
  • PrimeTime low power-SMVA分析(2)
  • 力扣343-整数拆分(Java详细题解)
  • QNN:基于QNN+example重构之后的yolov8det部署
  • 经验笔记:NoSQL数据库及其缓存方法实践
  • 什么是单片机?为什么要学习单片机?
  • 【文献及模型、制图分享】县域城乡融合发展对乡村旅游地实现共同富裕的影响机制——以长三角地区60个典型县为例
  • Qt/QML学习-CircularGauge
  • Python函数的编写
  • 上海市计算机学会竞赛平台2024年8月月赛丙组调和级数
  • CMU 10423 Generative AI:HW0