ElectronBot-fw 项目文件夹作用一览表
| 文件夹路径 | 文件夹名称 | 作用与核心内容 | 大白话解释 |
|---|---|---|---|
| (根目录) | (Root) | 存放项目管理和构建配置文件。 | "项目蓝图与施工许可证" |
.ioc |
STM32CubeMX 的工程文件,用于图形化配置芯片。 | CubeMX 的"存档文件" | |
CMakeLists.txt |
CMake 构建系统的入口脚本,定义了如何编译整个项目。 | "编译说明书" | |
.idea/ |
(IDE Config) | CLion 或其他 JetBrains IDE 的项目配置文件。 | IDE 的"个人笔记" |
Bsp/ |
B oard S upport Package | C++ 封装层。将底层 C 语言的 HAL 驱动,封装成面向对象的 Robot, Screen 等类。 |
"C 与 C++ 的翻译官/桥梁" |
cmake-build-debug/ |
(Build Output) | 编译过程中生成的中间文件和最终的可执行文件 (.elf, .bin)。 |
"建筑工地" (可随时删除) |
Core/ |
Core Logic | 由 STM32CubeMX 自动生成的、项目的核心 C 语言框架。 | "毛坯房框架" |
Core/Inc/ |
Include | 存放 .h 头文件,如 main.h, FreeRTOSConfig.h (RTOS配置)。 |
"C语言部分的接口声明" |
Core/Src/ |
Source | 存放 .c 源文件,如 main.c (程序入口), freertos.c (任务创建), stm32f4xx_it.c (中断处理)。 |
"C语言部分的具体实现" |
Drivers/ |
Hardware Drivers | ST 官方提供的、与 STM32 芯片硬件相关的底层驱动。几乎不需要修改。 | "芯片原厂驱动" |
Drivers/CMSIS/ |
CMSIS Core | ARM 公司定义的 Cortex-M 内核通用接口和芯片的寄存器定义。 | "CPU 使用手册" |
Drivers/STM32F4xx_HAL_Driver/ |
HAL Library | 硬件抽象层 (HAL) 库 。将复杂的寄存器操作封装成 HAL_... 开头的函数。 |
"标准硬件操作工具箱" |
Middlewares/ |
Middlewares | 独立于硬件的第三方软件包。几乎不需要修改。 | "第三方高级软件工具包" |
Middlewares/ST/ |
ST Middlewares | ST 官方提供的中间件,如此处的 USB 设备库。 | "ST 提供的 USB 功能包" |
Middlewares/Third_Party/ |
Third-Party | 第三方提供的中间件,如此处的 FreeRTOS 实时操作系统源码。 | "FreeRTOS 操作系统" |
startup/ |
Startup Code | 存放汇编语言编写的启动文件 (.s)。 |
"点火程序" (在 main 前运行) |
USB_DEVICE/ |
USB Device App | 由 CubeMX 生成的、与 USB 应用层相关的配置和回调函数。 | "USB 功能的应用层接口" |
UserApp/ |
User Application | 【开发者核心工作区】 存放所有用户自己编写的高级功能模块和应用逻辑。 | "机器人的所有'超能力'" |
UserApp/main.cpp |
C++ Main | C++ 世界的主入口 Main() 函数。是所有应用逻辑的"总指挥"。 |
C++ 的"大脑" |
UserApp/MPU6050/ |
MPU6050 Driver | 六轴姿态传感器 (IMU) 的驱动和 DMP 解算库。 | "内耳/平衡感"驱动 |
UserApp/MY_PRINTF/ |
Custom Printf | 自定义的打印/日志模块。 | "定制的喇叭" |
UserApp/PAJ7620U2/ |
PAJ7620 Driver | 近距离手势识别传感器的驱动。 | "近距离手势眼"驱动 |
UserApp/PROTOCOL/ |
Protocol & Flash | 自定义通信协议 的实现,以及读写 FLASH 以保存用户设置的功能。 | "语言"和"长期记忆" |
UserApp/Utils/ |
Utilities | 通用工具函数,如 printf 重定向。 |
"常用小工具箱" |