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 的工程

相关推荐
zcmodeltech7 小时前
农业教学实训沙盘物联网控制系统设计:基于STM32与Modbus RTU的“感知-控制-实训”一体化方案
分布式·stm32·嵌入式硬件·物联网
zcmodeltech8 小时前
化工装置沙盘模型多设备协同控制系统设计:基于STM32与Modbus RTU的装置-流程-安全联动方案
大数据·stm32·嵌入式硬件·安全·unity·制造
光子物联单片机10 小时前
STM32传感器模块编程实践(二十一)DIY语音控制小车套件模型
c语言·stm32·单片机·嵌入式硬件·mcu
铅笔小新z10 小时前
【stm32】GPIO
stm32·嵌入式硬件·mongodb
振南的单片机世界11 小时前
高优先级“插队”,低优先级让路:中断嵌套的核心规则
arm开发·stm32·单片机·嵌入式硬件
jianqiang.xue20 小时前
系统服务层设计:沉淀通用能力,让业务层只专注业务
stm32·单片机·嵌入式硬件·mcu·物联网·esp32
画面无声1 天前
STM32的SPI通信原理与练习记录
c语言·stm32·单片机·嵌入式硬件·学习
万亿少女的梦1681 天前
基于STM32、RFID与OneNET的开放性实验室电源节点设计
stm32·物联网·onenet·rfid·esp8266
殷忆枫1 天前
基于STM32+OV2640+ESP8266的无线图像采集系统设计与实现
stm32·单片机·嵌入式硬件
qq_283720051 天前
STM32F103 GPIO 端口配置寄存器 CRL / CRH 详解
stm32·单片机·嵌入式硬件