本文基于版本:

STM32CubeIDE   Version: 1.18.1 Build: 24813_20250409_2138 (UTC)   (C) 2025 STMicroelectronics ALL RIGHTS RESERVED 

下载与安装 STM32CubeIDE

STM32CubeIDE - STM32 的集成开发环境 - 意法半导体 STMicroelectronics

需要注册登录后,填写一些信息才可以下载。

安装过程一路选“是”即可。

配置 STM32CubeIDE

双击桌面图标运行,提示选择工作空间,选择为一个不含中文的路径即可。

安装语言包

C,点击 Add,在 Name 栏填入 languageLocation 栏填入下面的链接,然后点击添加,在弹出来的界面选择简体中文语言包,安装后按提示重启软件即可。

https://mirrors.ustc.edu.cn/eclipse/technology/babel/update-site/latest/ 

安装固件包

在 STM32CubeIDE 菜单栏选择 Help - Configuration Tool - Manage Embedded Software Packages,安装所需平台的 MCU 包即可。此处安装 STM32F1 系列最新固件包。

等待下载完成后,关闭界面。

配置项目

选择 文件 - 新建 - STM32 Project,进入芯片选择界面,输入芯片型号后选择。

点击下一步,在 Project Name 中填写项目的名称。

点击完成,进入工程设置页面。

配置芯片

SYS

RCC

时钟,此处需要参考数据手册,若与本文同型号可照抄。

若需要使用 FreeRTOS,可在此处添加。

配置代码生成器

配置 LED 指示灯,根据原理图,将 LED 连接的 GPIO 设置为 GPIO_Output,并且给引脚取名为 LED。

最后点击菜单栏中的保存图标,开始生成代码。

若使用 RTOS 会有一个时钟警告,点击 Yes 确认即可。

编写第一份代码

裸机版

/Core/Src/main.c 中,找到主函数的大循环,添加:

按下 Alt + / 可以进行代码自动补全。

int main(void) {  while (1) { /* USER CODE END WHILE */   HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); HAL_Delay(1000);   /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ } 

RTOS 版

在 RTOS 配置中,添加一个任务

/Core/Src/freertos.c 中,找到任务函数,添加

/* USER CODE BEGIN Header_myLEDTask_handle */ /** * @brief Function implementing the myLEDTask thread. * @param argument: Not used * @retval None */ /* USER CODE END Header_myLEDTask_handle */ void myLEDTask_handle(void *argument) {  /* USER CODE BEGIN myLEDTask_handle */ /* Infinite loop */ for(;;) { HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); osDelay(1000); } /* USER CODE END myLEDTask_handle */ } 

烧录程序到开发版

将开发版连接到烧录器上。

烧录器STM32 (Blue Pill)
SWDIOPA13 / DIO
SWCLKPA14 / CLK
GNDGND
VCC3.3V / 有外部电源则不接

添加运行配置

菜单选择 运行 - 运行配置

若使用 ST-LINK,无需特别配置即可使用。

若使用其他调试器,如 DAP-LINK 则需要进行手动配置,此处以 PWLink2 Lite 为例。

先按下图进行配置,点击应用后,会在项目路径下生成一个 项目名称 Debug.cfg 文件。

点击该 项目名称 Debug.cfg 文件,进行修改:

# This is an genericBoard board with a single STM32F103C8Tx chip # # Generated by STM32CubeIDE # Take care that such file, as generated, may be overridden without any early notice. Please have a look to debug launch configuration setup(s)   source [find interface/cmsis-dap.cfg]  # 修改为 cmsis-dap.cfg   set WORKAREASIZE 0x5000   transport select swd # 修改为 swd   set CHIPNAME STM32F103C8Tx set BOARDNAME genericBoard   # Enable debug when in low power modes set ENABLE_LOW_POWER 1   # Stop Watchdog counters when halt set STOP_WATCHDOG 1   # STlink Debug clock frequency set CLOCK_FREQ 8000   # Reset configuration # use hardware reset, connect under reset # connect_assert_srst needed if low power mode application running (WFI...) reset_config srst_only srst_nogate connect_assert_srst set CONNECT_UNDER_RESET 1 set CORE_RESET 0   # ACCESS PORT NUMBER set AP_NUM 0 # GDB PORT set GDB_PORT 3333   # BCTM CPU variables   source [find target/stm32f1x.cfg] 

修改完毕后,回到运行配置,修改该选项,保存即可。

编译并下载

菜单栏中点击🔨锤子图标(构建)进行编译,然后点击绿色播放(运行)将代码写入开发板。部分开发板需要在写入完成后,手动按下重置按钮才会运行新程序。

参考文献