嵌入式分层架构的文件夹分析
文章目录
1. 前言
本文主要介绍创建嵌入式工程时如何高效管理文件夹。随着工程规模的扩大,我逐渐感觉难以理解项目的整体,大多数时间是在回忆之前为什么要这么写,因此学习了一些架构知识,并在此记录,以方便日后查看。
2、架构1.0
参考资料:第一阶段_1周期_3th节_代码架构与分层_哔哩哔哩_bilibili
以下是一个分层架构的示例:
2.1 BSP: 板级支持驱动程序(Board Support Package)
BSP层负责 片上外设和板载外设(比如MPU6050)的通信与交互过程。有时根据具体情况分为两种:
- 裸机(有限状态机)情况下的驱动程序。
- 在操作系统下的驱动程序。
玩各种模块的时候都是把各种驱动移植到这,如MPU6050、IIC。
一个可能的BSP文件夹结构:
- myProject_BSP_mpu6050.c
- myProject_BSP_mpu6050.h
- myProject_BSP_iic.c
- myProject_BSP_iic.h
- myProject_BSP_gpio.c
- myProject_BSP_gpio.h
- myProject_BSP_spi.c
- myProject_BSP_spi.h
- myProject_BSP_uart.c
- myProject_BSP_uart.h
文件说明:
myProject_BSP_mpu6050.c
和myProject_BSP_mpu6050.h
:MPU6050传感器的驱动程序。myProject_BSP_iic.c
和myProject_BSP_iic.h
:IIC通信接口的驱动程序。myProject_BSP_gpio.c
和myProject_BSP_gpio.h
:GPIO控制接口