赞
踩
.
betaflight 代码结构如下表所示
betaflight 体系结构
| ||||||
|
|
|
|
|
|
|
应用层
|
CMS
osd调参
|
Flight
fail safe
gps rescue
PID
Mixer
|
|
|
|
|
抽象基础功能
|
config
飞控配置信息读写
以内置flash 模拟eeprom
|
FC
飞控核心控制事件循环
|
MSC
usb-storage、fat 等文件系统交互
|
MSP
管理协议
|
OSD
字幕叠加
|
telemetry
遥测回传相关
|
|
RX
接收机相关交互
a7105、cc2500、frsk、crsf等协议
以及rx 与飞控的rx_spi集成等
|
sensors
加速计、adc、电池、气压、compass等传感器抽象
|
blackbox
黑匣子记录
|
|
|
|
|
common
通用工具
|
scheduler
定时器(软)
|
IO
对飞控的“输入输出”,如视频、crsf、bb响、flash、gps、舵机、图传等的输入输出抽象
|
|
|
|
硬件配置、接口抽象化
|
|
|
pg
parameter group
设备配置加载映射为内存的结构体
抽象映射各硬件的操作,详见 doc/
ParameterGroups.md
|
|
|
|
抽象硬件
|
|
|
driver
抽象具体硬件的初始化、交互,需要继续整理一下抽象,目前看主要是io.h io.c 这个抽象定义
|
|
|
|
MCU相关
|
|
vcp
USB 虚拟串口相关
|
target
定义mcu与主要外设的针脚定义
|
startup
各种mcu初始化设置,设置核心频率等
|
|
|
硬件层
STM32 F1、F3、F4、F7、H7
|
mcu
|
加速度
MPU6000、6500
ICM2xxxxx
SPI
|
罗盘
HMC5883L
i2c
|
大气压计
BMP280
i2c
|
OSD叠加
MAX7456E
SPI
|
bb响
PWM
|
|
UART 接口
GPS、RX、VTX等
|
ESC
4路PWM
一般跑Dshot 协议
|
OLED灯带
|
|
|
|
这次针对BF 的移植,主要对于target、Driver、link、make 等进行修改,重点在于driver文件夹, 由于原始BF主要使用STM32 系列,从F1 到H7 都有移植,所以原始的代码已经十分复杂,AT32 的外设结构与STM32G4 比较类似,所以主要以G4 相关HAL库为蓝本进行修改移植。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。