欢迎光临散文网 会员登陆 & 注册

怎么把Betaflight 从STM32 移植到 AT32 系列 --大纲

2022-08-13 20:32 作者:二木山人  | 我要投稿

经过接近5个月的努力,已经将betaflight 4.3.0 -rc2 从stm32 移植到 雅特力at32F437Zmt7,开发板已经对功能初步验证通过, 协同另外一个朋友(N.T.Jia) 正在制作原型飞控板进行试飞验证。趁这段时间开一个坑,总结一下怎么把bf 移植到非STM32 系列的MCU上,以及遇到了哪些坑、怎么进行优化,以及后继如何对bf 固件进行定制等话题。


计划大纲:

    0. 序:为什么移植BF

  1. 第一章: 移植的准备工作

    1. 从上而下看BF 对代码结构

    2. MCU 的选型与IO 性能评估

    3. bf 的Makefile 体系与移植

    4. 编译环境的搭建

  2. 第二章:bf 代码基础移植工作

    1. 时钟树:MCU 的总动脉

    2. RCC : RCC 与CRM 总闸开关

    3. GPIO :点亮一盏灯 ,Step1 验证

    4. DMA : 内存搬运工

    5. TIMER : 计时器基础的PWM输出 第二次点亮灯

    6. EEPROM :Flash 模拟EEprom 以及配置信息存储

    3.第三章: bf 数据总线、通讯部分移植    

    1.     bus 、SPI、I2C

    2.     Serial、Usart、4Way Esc 

    3.  Serial USB VCP

    4.  点亮陀螺仪、气压计、磁力计、接收机、地面站通信

    4. 第四章 BF 与ESC 通信部分移植

    1. 电调常见通信方式: PWM、Dshot、双向Dshot、Proshot

    2. PWM 移植与验证(oneshot 、Multishot)

    3. 硬件定时器实现Dshot (ProShot) 原理、移植、与验证

    4. Dshot-bitBang 原理、移植、与验证

    5. ESC Bhelis-32 验证


    5. 第五章 : 系统启动优化与性能优化

    1. 重新回到启动文件

    2. 内存大小与ZW区调整

    3. 内存RAM 分区调整


    6. 第六章:雅特力的硬件局限性

    1. TIMER 与DMA 中断问题与解决思路

    2. DMA 性能瓶颈问题与解决思路

    7. 第七章: 原型飞控板的设计与制作

    8. 第八章: 测试、试飞 与调整优化。

    9. 第九章 : 后记 




怎么把Betaflight 从STM32 移植到 AT32 系列 --大纲的评论 (共 条)

分享到微博请遵守国家法律