ardupilot 的bootloader代码学习---bootloader()函数

目录

摘要


本节主要记录自己学习ardupilot的bootloader代码过程,欢迎批评指正。


1.bootloader()函数整体实现流程


主控FMU或IO协处理器的main函数调用jump_to_app函数失败(返回)后,就会调用bootloader()函数来与上位机进行通信,bootloader定义在文件bl.c中,它的主要功能如下:




  • 1.(重新)启动systick定时器和中断,周期为1ms

  • 2.若timeout不为0,启动0号时钟(TIMER_BL_WAIT),周期为timeout,单位ms

  • 3.设置闪烁B/E LED灯
    这里我们采用FMU+IO两种芯片(STM32F765IIK6+STM32F103C8T6)
    其中FMU(V5)的PC6
    其中IO的PB15

  • 4.进入命令处理循环

4.1 关闭ACT LED灯(主控FMU没有,IO协处理器)
4.2 死循环读取串口数据(1字节&

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔城烟雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值