2-electronbot主控免驱工程结构

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 重定向。 "常用小工具箱"
相关推荐
北山有鸟12 小时前
修改源码法和插件法
嵌入式硬件·学习
richxu2025100112 小时前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
Deitymoon12 小时前
STM32——串口通信(USART)
单片机·嵌入式硬件
iCxhust12 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理
charlie11451419112 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
handler0112 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy11312 小时前
Linux进程与线程编程详解
linux·c++
我星期八休息13 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
切糕师学AI13 小时前
深入解析 Zsh 与 Oh-My-Zsh:打造高效现代化终端
linux·终端·zsh
Deitymoon14 小时前
STM32——外部中断按键控制led
stm32·单片机·嵌入式硬件