【STM32】工程文件管理

1. 目录

创建的工程模板由下面 5 个目录构成:

  • drivers 存放与硬件相关的驱动层文件
  • middlewares 存放中间层文件
  • output 存放工程编译输出文件
  • project 存放MDK工程文件
  • user 存放用户配置文件、中断处理文件及分散加载文件

2. ------Driver文件夹

Drivers 文件夹里面又包含了 4 个文件夹

  • BSP 存放开发板级支持包驱动代码,如各种外设驱动
  • CMSIS 存放底层代码,如启动文件
  • SYSTEM 存放系统级核心驱动代码,如sys.c delay.c usart.c等
  • STM32F1xx_HAL_Driver 存放ST提供的F1系列HAL库驱动源码

BSP****文件夹
我们平时所写的 LED 驱动、蜂鸣器驱动、ESP8266驱动等等,都是放在这个目录下面。
CMSIS****文件夹
将官方提供的固件包下载,然后按下图提示进到 CMSIS 目录。
可以使用 STM32CubeMX 随便生成一个工程文件,然后找到下面这些文件,直接拷过来即可。

SYSTEM****文件夹
这个文件夹主要存放的是一些常用的系统级核心驱动代码,比如说时钟配置、延时函数、串口等等,像这些配置都是非常经常用到,我们没必要每次都自己手写,直接复用即可。
Middlewares****文件夹
这个文件夹主要存放的是中间层代码(组件/Lib 等),比如:FATFS、USB、LWIP、FreeRTOS,各种 GUI 等等。但作为模板工程,这些东西我们就先不添加,整个文件夹留空即可。

3 ------Output****文件夹

该文件夹用于存放编译器编译工程输出的中间文件,比如:.hex、.bin、.o 文件等

4 ------Projects****文件夹

该文件夹用于存放编译器的工程文件。不同的开发工具所产生的工程文件是不一样的,常见的开发工具有:
MDK、IAR ,等等。但我们最常用的还是 MDK ,所以我们就可以在这个文件夹下创建一个 MDK-ARM 文件夹。

5 ------User****文件夹

该文件夹用于存放用户编写的代码,如:HAL 库用户配置文件、main.c 文件、中断处理文件,以及分散加载文件等。
在这个文件夹里,我们需要将下面那三个文件拷贝到这里来:

6. 用"品"创建分组、添加文件

依次创建startup分组文件(.s)、User分组文件、SYSTEM分组文件、驱动文件,并添加上文所述包含文件

相关推荐
zhangrelay1 小时前
Arduino-MEGA-ESP单片机理论课笔记-01入门-02硬件-03开发环境-2026
笔记·单片机·嵌入式硬件·学习·机器人
AlanAshley1 小时前
手机与电脑的屏幕计时器熄屏区别及协议栈
单片机·智能手机·电脑
AlanAshley2 小时前
电脑烧屏的软件与硬件原因全解析
单片机·嵌入式硬件·电脑
ScilogyHunter2 小时前
Hercules系列安全MCU功能安全原理详解
java·单片机·安全·hercules
szxinmai主板定制专家3 小时前
AMR 项目落地:机器人控制器硬件定制化需求复盘
arm开发·单片机·fpga开发·系统架构·机器人·am62x
笨笨饿3 小时前
#60_# 一、Photoshop 2025 如何批量导出 PSD 文件中的所有图层为独立 PNG 图片
stm32·单片机·嵌入式硬件·物联网·ui·51单片机·photoshop
碧海银沙音频科技研究院12 小时前
基于炬芯ATS308X 设计的上位机usb 串口音乐EQ调节工具
stm32·单片机·嵌入式硬件
三佛科技-1341638421215 小时前
过认证72W碳化硅方案(12V6A)主控HN1562+HN36228V 典型应用电路、变压器参数分享
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
Zwawa16 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
Brilliantwxx17 小时前
【STM32】 内部 Flash 详解:寄存器逐位拆解 + 工作流程顺序全讲 + EEPROM再实现
stm32·单片机·嵌入式硬件·1024程序员节