ardupilot 的启动根据不同HAL 的启动过程不一样 , chibios 的硬件入口是
硬件启动 ->
modules/Chibios/common/startup/ARMCMx/compilers/GCC/VECTOR.S ResetHandler:
modules/Chibios/common/startup/ARMCMx/compilers/GCC/ crt0_v7m.S crt0_entry
--AP_HAL_Chibios/hwdef/common/Board.c __early_init() 初始化pal(gpio)& sysClock
--AP_HAL_Chibios/hwdef/common/Board.c __late_init ()
-- modules/Chibios/os/hal/src/hal.c halInit()
-- modules/Chibios/os/hal/osal/lib/osal_vt.c vtInit
-- modules/Chibios/os/hal/ports/AT32/AT32f435_437xx/hal_lld.c hal_lld_init
--rccEnablePWRInterface() dmaInit IrqInit 初始化RCC DMA Irq
--palInit 初始化gpio
-- adcInit lld 库各种外设初始化
--

本文详细描述了Ardupilot系统如何在ChibiosHAL架构下启动,涉及从硬件入口到Copter等应用类别的初始化过程,包括GPIO、RCC、外设初始化等关键步骤,以及Copter类的主函数入口点。
最低0.47元/天 解锁文章
4698

被折叠的 条评论
为什么被折叠?



