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

相关推荐
智闲电子设计8 小时前
STM32 SD 卡 + FatFS 实战:掉电丢数据?f_sync 和簇对齐写救你
stm32·单片机·嵌入式硬件
ヾChen10 小时前
ESP32 OTA 踩坑实录
stm32·单片机·嵌入式硬件·物联网·学习
雨田言炎11 小时前
STM32专题之内部FLASH详解
笔记·stm32·单片机
LCG元14 小时前
STM32 DAC+DMA+定时器触发生成任意波形:数据对齐陷阱、输出缓冲器选型与频率精度实测
stm32·单片机·嵌入式硬件
小柯博客15 小时前
01 · 点亮 STM32MP25 的硬件视频编解码:VPU 与那些“安静“的坑
c语言·笔记·stm32·单片机·嵌入式硬件·嵌入式·视频编解码
zcmodeltech1 天前
钢铁冶金沙盘模型控制系统设计与实现:高炉-连铸-热轧多工序联动方案
分布式·stm32·单片机·嵌入式硬件·交互
笨笨饿1 天前
#110_SCH3000 平台图传系统配置指南:从 DVP 摄像头到 UVC/WiFi 双通道传输
c语言·stm32·单片机·嵌入式硬件·物联网·vim
捷瑞电子工坊1 天前
FreeRTOS事件组:多任务同步的利器
stm32·嵌入式·freertos·实时操作系统·标准外设库·事件组·任务同步
笨笨饿1 天前
#109_BK7258 蓝牙 A2DP 音频数据通路深度解析
python·stm32·单片机·mcu·物联网·编辑器·音视频
qq_401700411 天前
ADC基准电压与参考电压详细解读:以STM32和28335为例
stm32·单片机·嵌入式硬件