STM32F1与STM32CubeIDE快速入门开发环境搭建
STM32F1与STM32CubeIDE快速入门-开发环境搭建
开发环境搭建
1、STM32Cube IDE与 STM32 CubeMX 介绍
STM32集成开发环境非常多,有收费的,有开源的等等。比如:
- Eclipse
- Arm Embed
- Keil
- IAR Systems
- Atollic TrueStudio
- STM32CUBE IDE
- 基于VSCode的PlatformIO

在此系列实例中,主要通过STM32CUBE IDE完成。因此下面对STM32Cube IDE开发环境搭建进行做详细介绍。
STM32Cube IDE是一个免费的基于 Eclipse 的 IDE,由 STMicroelectronics 提供。
STM32Cune IDE 是一款多合一的多操作系统开发工具,是 STM32Cube 软件生态系统的一部分。 STM32Cube IDE 是一种高级 C/C++ 开发平台,具有 STM32 微控制器和微处理器的外设配置、代码生成、代码编译和调试功能。它基于 Eclipse®/CDT 框架和 GCC 工具链进行开发,基于 GDB 进行调试。它允许集成数百个现有插件,以完善 Eclipse® IDE 的功能。
STM32Cube IDE 集成了 STM32CubeMX 的 STM32 配置和项目创建功能,提供一体化工具体验并节省安装和开发时间。在从板的选择或示例的选择中选择空的 STM32 MCU 或 MPU,或预配置的微控制器或微处理器后,将创建项目并生成初始化代码。在开发过程中的任何时候,用户都可以返回到外设或中间件的初始化和配置,重新生成初始化代码,对用户代码没有影响。
STM32Cube IDE 包括构建和堆栈分析器,可为用户提供有关项目状态和内存要求的有用信息。
STM32Cube IDE 还包括标准和高级调试功能,包括 CPU 内核寄存器、存储器和外设寄存器的视图,以及实时变量监视、串行线查看器接口或故障分析器。
STM32Cube IDE有以下特性:
- 集成STM32CubeMX 服务:
- STM32微控制器、微处理器、开发平台及实例项目选择
- 引脚、时钟、外设和中间件配置
- 项目创建和初始化代码的生成
- 使用增强型 STM32Cube 扩展包完成的软件和中间件
- 基于 Eclipse®/CDT,支持 Eclipse® 附加组件、GNU C/C++ for Arm® 工具链和 GDB 调试器
- 其他高级调试功能包括:
- CPU 内核、外设寄存器和内存视图
- 实时变量观察视图
- 系统分析和实时跟踪 (SWV)
- CPU故障分析工具
- FreeRTOS™ 感知调试支持
- 支持 ST-LINK (STMicroelectronics) 和 J-Link (SEGGER) 调试探针
- 从 Atollic® TrueSTUDIO® 和 AC6 System Workbench for STM32 (SW4STM32) 导入项目
- 多操作系统支持:Windows®、Linux® 和 macOS®,仅限 64 位版本
STM32Cube IDE下载地址:https://www.st.com/en/development-tools/stm32cubeide.html
注意:您需要使用您的电子邮件地址注册一个免费帐户才能从他们的网站下载该软件。 需要执行此步骤才能获取适合您的操作系统条件(Windows、MAC 或 Linux)的版本的下载链接。
安装完成后启动页面如下:

STM32Cube MX是STM32Cube初始化代码生成器,用于设置和配置底层硬件和外围设备。 它还可以帮助您配置微控制器的时钟树,以决定系统、总线和外设的各种时钟速度。在配置过程结束时,它会在指定目录中生成项目文件夹。 然后单击一个按钮以在 STM32Cube IDE 中启动它并立即开始开发项目。在新版本中,STM32Cube IDE已经集成了,因此,STM32Cube MX是一个可选安装项,比如需要使用Keil,IAR等IDE时,可以考虑安装。
STM32Cube MX的下载地址:https://www.st.com/en/development-tools/stm32cubemx.html
安装完成后的启动页面如下:

2、抽象级别固件开发介绍
在开发8051单片应用时,一般情况下是通过直接读写寄存器来实现相应的驱动功能。但是在STM32Cube IDE中,使用的是STMicroelectronics提供的LL+HAL设备驱动程序。因此,在开发过程中可以专注于应用层和中间件层,即ECU层和ECUA层。如下图所示:

通过STM的HAL和LL库,可以实现开发可重用、可配置的模块、传感器和接口。HAL和LL在整个STM32系列产品中具有统一的API接口。这样可以大大降低学习和开发成本。
3、代码下载及仿真驱动及硬件
J-Link带有高度优化的内置闪存加载器,允许将应用程序快速下载到目标系统的闪存中。J-Link工具集及驱动下载地址为:
https://www.segger.com/products/debug-probes/j-link/technology/flash-download/

ST-LINK V2编程器及调试器:

驱动下载地址如下:https://www.st.com/en/development-tools/stsw-link009.html
STM32CubeProgrammerSTM32CubeProgrammer(STM32CubeProg)是一款多合一的多操作系统软件工具,用于对STM32产品进行编程(程序下载)。
STM32CubeProgrammer 为通过调试接口(JTAG 和 SWD)和引导加载程序接口(UART、USB DFU、I2C、SPI 和 CAN)读取、写入和验证设备存储器提供了一个易于使用且高效的环境。
STM32CubeProgrammer 提供了广泛的功能来对 STM32 内部存储器(如 Flash、RAM 和 OTP)以及外部存储器进行编程。
STM32CubeProgrammer 还允许通过脚本进行选项编程和上传、编程内容验证和编程自动化。
STM32CubeProgrammer 提供 GUI(图形用户界面)和 CLI(命令行界面)版本。
STM32CubeProgrammer下载地址如下:https://www.st.com/zh/development-tools/stm32cubeprog.html
安装完成后的启动页面如下:

文章来源: https://iotsmart.blog.csdn.net/article/details/123157197