前言
- 由于自己接触较多的 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 MCUSTM32L476RGT6
- 可以逐个进行配置(类似于 STM32CubeMX),当前为了方便,直接使用 开发板默认配置
- 然后一步步【Next】,就可以生成
NUCLEO-L476RG
开发板 的例程了
编译
- 选择 工程,然后右键,选择 【Build Project】 进行构建(编译)
调试
- 点击调试按钮,选择调试的工程(名字),默认配置是 ST-Link,点击即可启动调试
- 默认调试的配置如果正确,就可以默认不修改,直接进行调试
- 点击调试工具栏上的【单步】【步进】等调试功能按钮,就可以进行调试了
下载
- 调试时可以 同时下载了固件到 开发板
- 点击 工具栏的 【运行】按钮,也可以下载程序
- 【备注】如果只是单纯 下载,也可以使用
STM32CubeProg
进行下载
小结
- 本篇主要熟悉 eclipse 开发环境的
STM32CubeIDE
,非常适合 gcc 编译环境的下 STM32 的开发,高效便捷 - 后续尝试使用
STM32CubeIDE
开发 基于 RT-Thread、FreeRTOS 的工程