【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分组文件、驱动文件,并添加上文所述包含文件

相关推荐
代码游侠5 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
xuxg20057 小时前
4G 模组 AT 命令解析框架课程正式发布
stm32·嵌入式·at命令解析框架
CODECOLLECT9 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen10 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠12 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_12 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技15 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计15 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
風清掦16 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
小龙报16 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机