PX4-10-系统启动流程

很多同学在开始接触PX4的时候,遇到的第一个问题是这个程序是如何启动的,main函数在哪里。这一篇我们简单的聊一下PX4的启动流程。

初学c语言对RTOS不是很熟悉的同学对main函数都有着不一般的执着,阅读代码时总是会去找程序的main函数,然后从入口处开始阅读。

实际上我们接触的所有软件程序,使用到的main函数都不是程序实际开始运行的入口,只是用户程序的入口而已。从这个角度而言,PX4的每个任务的main函数都是该任务的入口。

这一篇我们分析一下PX4是如何从单片机的启动汇编入口引导到应用任务启动的。

与上一篇文章 PX4-9-控制数据流 相同,图表是体现关系结构最好的方式,直接绘制了PX4的启动流程图。

分为两个部分,第一部分为Nuttx的启动,到加载nsh启动脚本;第二部分为PX4启动脚本的执行,用于启动PX4的所有应用程序

第一部分Nuttx的启动流程如图所示:

到这里为止即完成了Nuttx系统的启动,程序执行到加载启动脚本,后面即是PX4应用的启动。

第二部分PX4启动脚本的执行流程图如图所示:

图表采用plantuml绘制,通过阅读原文访问我的个人网站有以上图片的高清矢量图,也可以关注我的公众号,在下方留言 PX4启动流程 获取图表的源码。

往期分享:

AcmeGCS-10-首个测试版本!

AcmeROS-1-系统架构

PX4-8-UAVCAN与开源飞控

这里会不定期更新一些我整理的无人机相关知识,欢迎关注。

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值