Artery Tek AT32F435/7 上的 Betaflight 移植指南
本教程将帮助您了解 atbetaflight 项目,这是一个基于 Betaflight 4.3 版本,移植到 Artery Tek AT32F435/7 处理器的飞行控制器软件。
1. 项目的目录结构及介绍
.
├── docs # 文档及相关说明
├── lib # 库文件
├── make # Makefile 和构建相关脚本
├── src # 源代码
│ ├── drivers # 驱动程序
│ ├── fw # 核心飞行控制逻辑
│ ├── hal # 硬件抽象层
│ └── unified_targets # 统一的目标平台配置
└── unified_targets # 不同硬件配置子文件夹
└── configs # 各种硬件的具体配置文件
docs
: 包含项目文档和用户指南。lib
: 存储库函数和其他通用组件。make
: 构建系统所需的文件,如 Makefile。src
: 主要源代码,分为驱动、核心逻辑和硬件抽象层。drivers
: 用于各种传感器和设备的驱动代码。fw
: 实现飞行控制器算法的核心代码。hal
: 提供不同硬件平台的接口抽象。
unified_targets/configs
: 不同硬件平台的特定配置,如硬件设置和PID参数。
2. 项目的启动文件介绍
在 src/main.c
文件中,可以找到项目的入口点。这个文件通常包含了初始化过程,包括设置堆栈、初始化硬件、加载配置以及调用主循环等任务。
int main(void)
{
// 初始化硬件和其他必要设置
board_init();
// 加载并应用配置
load_config();
// 开始飞行控制器的主要循环
while(1) {
loop();
}
}
这里的 board_init()
负责初始化飞控板上的外设,load_config()
加载来自 config
文件夹中的配置,最后 loop()
执行飞行控制循环。
3. 项目的配置文件介绍
配置文件位于 unified_targets/configs
目录下,每款支持的硬件都有自己的子文件夹,通常命名为硬件的模型或厂商名称。例如,对于 ArteryTek AT32F435,你可能会找到一个名为 arterytek_at32f435
的子目录。
在每个硬件配置目录中,常见的配置文件有:
config.txt
: 一般配置,包含基本的PID设定、电机布局等。csv
: CSV格式的传感器校准数据文件。motors.csv
: 电机映射和PWM设置。.json
文件:用于 Betaflight Configurator(配置工具)的高级设置。
配置文件是通过 Betaflight Configurator 工具进行编辑的,该工具允许用户图形化地调整参数以适应其无人机的性能需求。
请注意,具体配置可能因不同的硬件和更新而有所不同,建议参考项目文档和社区讨论来获取最新的信息。