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

相关推荐
hazy1k5 小时前
51单片机基础-DS1302时钟
stm32·单片机·嵌入式硬件·51单片机·1024程序员节
不语n7 小时前
点亮LED
单片机·嵌入式硬件
普中科技7 小时前
【普中Hi3861开发攻略--基于鸿蒙OS】-- 第 28 章 WIFI 实验-UDP 通信
单片机·嵌入式硬件·udp·wifi·liteos·hi3861·普中科技
君王的羔羊14 小时前
STM32CUBEMX安装离线库
stm32·cubemx
DIY机器人工房19 小时前
要解决 ESP32 与 STM32 之间 LoRa 通信无应答的问题,可从以下硬件、软件、参数匹配三个维度逐一排查:
stm32·单片机·嵌入式硬件·lora·嵌入式·diy机器人工房
qq_4017004119 小时前
STM32的存储起始地址和运行起始地址为什么一样
stm32·单片机·嵌入式硬件
-Excalibur-20 小时前
形象解释关于TCP/IP模型——层层封装MAC数据帧的过程
linux·c语言·网络·笔记·单片机·网络协议·tcp/ip
点灯小铭21 小时前
基于单片机的楼道声光人体红外智能控制灯设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
hazy1k1 天前
51单片机基础-红外遥控(NEC协议)
stm32·单片机·嵌入式硬件·51单片机·1024程序员节