02 Code Architecture And Startup Process
文章更新版本 | 时间 | 备注 |
V1.0 | 发布于2019-10-30 17:30:53 | 初始版本 |
V1.1 | 更新于2020-01-13 11:10:16 | 修改app_main结构图 |
一、工程目录结构
1. 总目录结构
ESPlane2.0基于esp_idf release/v3.3
和Crazyfliemaster:commit 13aa1372bc3ba5b14922fc2f9d8999270882021a
([https://github.com/qljz1993/crazyflie-firmware.git).按照IDF编写风格,以组件的形式组织整个代码工程,其中main中包含app_main函数,用于启动整个工程.components文件夹包含工程中修改的一些esp_idf组件(未修改的组件默认从IDF_PATH查找),各个传感器驱动,硬件抽象层(hal),飞控程序模块(modules)等:](https://github.com/qljz1993/crazyflie-firmware.git%29.按照IDF编写风格,以组件的形式组织整个代码工程,其中main中包含app_main函数,用于启动整个工程.components文件夹包含工程中修改的一些esp_idf组件%28未修改的组件默认从IDF_PATH查找%29,各个传感器驱动,硬件抽象层(hal),飞控程序模块(modules)等:)
2. 驱动层
3. 硬件抽象层
硬件抽象层作为传感器驱动层与飞控程序层中间的桥梁,是该工程能够实现移植的关键,硬件抽象层包含以下文件:
4. 飞控程序层
飞控程序层是该工程的核心代码层,用于姿态计算,控制量计算,协议通信等,该层包含以下文件:
5. 扩展层
参见 03-Crazyflie代码模块化实现方法,Crazyflie工程挂载自定义驱动方法 -Deck drivers(esplane未完成该部分移植20191028)
二、代码启动过程
1. 系统启动过程
2. 关键TASK-自稳模式
3. 关键数据结构
最后更新于