betaflight 代码结构

.

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库为蓝本进行修改移植。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值