详细介绍:【STM32】工程文件管理

news/2025/11/22 19:34:55/文章来源:https://www.cnblogs.com/gccbuaa/p/19258433

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 等),比如:FATFSUSBLWIP、FreeRTOS,各种GUI 等等。但作为模板工程,这些东西我们就先不添加,整个文件夹留空即可。

3 ——Output文件夹

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

4 ——Projects文件夹

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

5 ——User文件夹

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/973356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南昌航空大学-ptajava

前言 本次对PTA作业进行总结,共三道Java大题,为电梯调度程序的迭代开发。涉及到基础Java语言的运用,look电梯调度算法的实现,队列结构的使用,枚举类型运用,类设计,迭代开发能力等知识点。 第一次作业:单部电梯…

sguardsvc64.exe(Anti-Cheat Expert)驱动不兼容导致无法开启“内核模式硬件强制堆栈保护”或“内存完整性”

windows安全感中心,有时候会提示无法开启“内核模式硬件强制堆栈保护”或“内存完整性”。打开详情会显示sguardsvc64.exe的原因,这个其实是腾讯反作弊系统相关的文件。大概率你是一个腾讯游戏玩家。刚开始网上搜索如…

Wi-Fi FTM 技术 10 年后展望

1. 技术成熟背景 假设 10 年后,全球 Wi-Fi AP 生态全面升级,所有 AP 都支持 IEEE 802.11mc/ax FTM 功能,同时绝大多数智能手机和平板、IoT 设备也原生支持 FTM 测距。这意味着:用户设备无需额外硬件即可实现高精度…

Docker使用【镜像】 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

20251122

在我的世界forge版本的mod开发中,虽然总体逻辑不难,但要记住的方法和类名一大堆,要是想上手得多写多看啊

2025年11月22日训练赛

F1. Cycling (Easy Version) #include<bits/stdc++.h> using namespace std; #define endl \n #define yes cout << "Yes" << endl #define no cout << "No" << en…

Python 潮流周刊#128:将 Rust 语言引入 CPython

本周刊由 Python猫 出品,精心筛选国内外的 400+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。 温馨提…

NCHU_单部电梯调度程序总结blogs

一、前言 这三次作业虽然都围绕着同一个主题——“单部电梯调度”,但每一次都在逼着我更深入地理解面向对象设计、系统分层思想和程序可维护性这些看似抽象但又极其实用的概念。 知识点: 基础的 面向对象编程(类、属…

AI填补核聚变传感器数据空白技术解析

普林斯顿大学开发的新型AI工具Diag2Diag通过生成合成数据填补等离子体诊断空白,该技术能减少对大型硬件的依赖,使未来聚变反应堆更紧凑可靠,同时适用于航天器和机器人手术等领域。AI填补核聚变传感器数据空白技术解…

电梯调度程序分析

一.前言本次博客将完整复盘电梯调度系统的三次迭代开发历程。第一次迭代聚焦核心功能落地,以单一电梯类封装所有状态、队列与调度逻辑,实现 “同向优先、逐层停靠” 的基础运行规则,解决 “能跑起来” 的核心问题;…

Hive动态分区怎样减少存储压力

Hive动态分区是一种根据数据量自动创建分区的功能,它可以有效地减少小文件的数量,从而提高查询性能。然而,动态分区也可能导致存储压力增加,因为它会生成大量的分区文件。为了减少存储压力,可以采取以下策略:调整…

dockers拉取redis镜像

1.修改 Docker 配置文件 vim /etc/docker/daemon.json 2.添加国内镜像源 将以下内容写入文件(选择阿里云、网易云等镜像): { "registry-mirrors": ["https://dh-mirror.gitverse.ru", "ht…

面向对象程序设计——单元总结

前言 这次的三个单部电梯调度实验是层层递进的。从第一个作业的一个“上帝类”Elevator类;到第二个作业的解决实验一中“职责过多”的问题,遵循SRP,将不同的职责拆分到不同的类中,从而引入Request类、Queue类、Con…

Linux命令绕过 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

帮同学签了个到,我发现竟然能盗光他所有账号

你的数字生活,可能正悬在一根头发上。 我们先做一个简单的灵魂拷问:你所有网络账号的密码,是不是都在用那么两三个“老伙计”轮换?或者更糟糕一点,你是不是在用同一个密码,通行于淘宝、微信、Steam 和那个不知名…

MyBatis Flex 讲解使用

目录1 MyBatis Flex1.1 简介1.2 简单操作1.2.1 配置1.2.1.1 pom.xml1.2.1.2 yml配置1.2.2 生成代码1.2.3 业务类1.2.3.1 实体1.2.3.2 实体脱敏1.2.3.3 Mapper接口1.2.3.4 Service层1.3 MyBatis-Flex 核心 API1.3.1 条件…

Catalog

东西有点杂,稍微整理一下。 Algorithm Introduction【老】Splay 浅谈

NCHU_Blog1_刘素萍_单部电梯调度程序

一、前言 经过前几周的课堂讲解与视频学习,已初步掌握 Java 的基础用法。相较于 C 语言,Java 最核心的差异在于引入了 “类” 的概念 —— 课堂上老师对此概念花了大力气进行了重点讲解。在PTA完成了前三次 Java 迭代…

同花顺通达信常用颜色图标

1)Color 自定义色格式为color+“Rrggbb”:Rr、Gg、Bb表示红蓝色、绿色和蓝色 2)Colorblack 黑色画黑色 3)Colorblue 蓝色画蓝色 4)Colorgreen 绿色画绿色 5)Colorcyan 青色画青色 6)Colorred 红色画红色 7)Col…

hive sql开发难不难

Hive SQL开发的难度因人而异,但总体来说,对于熟悉SQL的开发者来说,Hive SQL的学习曲线相对平缓,因为Hive SQL语法与标准SQL相似。以下是对Hive SQL开发难度、入门建议以及是否适合初学者的分析: Hive SQL开发难度…