怎么把Betaflight 從STM32 移植到 AT32 系列 --大綱

經(jīng)過(guò)接近5個(gè)月的努力,已經(jīng)將betaflight 4.3.0 -rc2 從stm32 移植到 雅特力at32F437Zmt7,開(kāi)發(fā)板已經(jīng)對(duì)功能初步驗(yàn)證通過(guò), 協(xié)同另外一個(gè)朋友(N.T.Jia) 正在制作原型飛控板進(jìn)行試飛驗(yàn)證。趁這段時(shí)間開(kāi)一個(gè)坑,總結(jié)一下怎么把bf 移植到非STM32 系列的MCU上,以及遇到了哪些坑、怎么進(jìn)行優(yōu)化,以及后繼如何對(duì)bf 固件進(jìn)行定制等話題。
計(jì)劃大綱:
????0. 序:為什么移植BF
第一章: 移植的準(zhǔn)備工作
從上而下看BF 對(duì)代碼結(jié)構(gòu)
MCU 的選型與IO 性能評(píng)估
bf 的Makefile 體系與移植
編譯環(huán)境的搭建
第二章:bf 代碼基礎(chǔ)移植工作
時(shí)鐘樹(shù):MCU 的總動(dòng)脈
RCC : RCC 與CRM 總閘開(kāi)關(guān)
GPIO?:點(diǎn)亮一盞燈 ,Step1 驗(yàn)證
DMA : 內(nèi)存搬運(yùn)工
TIMER : 計(jì)時(shí)器基礎(chǔ)的PWM輸出 第二次點(diǎn)亮燈
EEPROM :Flash 模擬EEprom 以及配置信息存儲(chǔ)
????bus 、SPI、I2C
? ? Serial、Usart、4Way Esc?
?Serial USB VCP
?點(diǎn)亮陀螺儀、氣壓計(jì)、磁力計(jì)、接收機(jī)、地面站通信
電調(diào)常見(jiàn)通信方式: PWM、Dshot、雙向Dshot、Proshot
PWM 移植與驗(yàn)證(oneshot 、Multishot)
硬件定時(shí)器實(shí)現(xiàn)Dshot (ProShot) 原理、移植、與驗(yàn)證
Dshot-bitBang 原理、移植、與驗(yàn)證
ESC Bhelis-32 驗(yàn)證
重新回到啟動(dòng)文件
內(nèi)存大小與ZW區(qū)調(diào)整
內(nèi)存RAM 分區(qū)調(diào)整
TIMER 與DMA 中斷問(wèn)題與解決思路
DMA 性能瓶頸問(wèn)題與解決思路
3.第三章: bf 數(shù)據(jù)總線、通訊部分移植? ??
4. 第四章 BF 與ESC 通信部分移植
5. 第五章 : 系統(tǒng)啟動(dòng)優(yōu)化與性能優(yōu)化
6. 第六章:雅特力的硬件局限性
7. 第七章: 原型飛控板的設(shè)計(jì)與制作
8. 第八章: 測(cè)試、試飛 與調(diào)整優(yōu)化。
9. 第九章 : 后記?