当前位置: 首页 > article >正文

从零开始学习PX4源码10(启动过程)

目录

文章目录

  • 目录
  • 0.简介
  • 1.启动过程1
    • 1.1 __start启动阶段
    • 1.2 nuttx启动过程
    • 1.3 nx_bringup()过程
    • 1.4 nx_create_initthread()过程
    • 1.5 nx_start_application()过程
    • 1.6 nsh_main过程
    • 1.7 nsh_consolemain过程
    • 1.8 nsh_sysinitscript过程
  • 2.启动过程2-rcS
    • 2.1 ROMFS简介
    • 2.2 PX4启动脚本

0.简介

  1. PX4的整个启动过程,从飞控上电开始,单片机供电正常后,开始正常的工作,首先运行的代码就是bootloader代码,我们这里讲解的是STM32H753IIK6芯片作为主处理器,STM32F103C8t6做为从处理器不包含bootloader代码过程。bootloader代码跳转到应用程序后,飞控第一步要执行的就是启动函数,这里我们重点分析PX4-FMU的启动过程!
  2. px4操作系统nuttx为嵌入式实时操作系统,该系统类似于linux系统,在unix基础上进行裁剪。初学者对于程序的认知,大多数都是从main函数开始启动, 实际上我们接触的所有软件程序,使用到的main函数都不是程序实际开始运行的入口,只是用户程序的入口而已。从这个角度而言,PX4的每个任务的main函数都是该任务的入口。Nuttx操作系统和大多数操作系统相似,都先进入Bootloader启动引导程序,然后再启动fmu和io的操作系统。
  3. PX4的启动流程分为两个部分,第一部分为Nuttx的启动,到加载nsh启动脚本;第二部分为PX4启动脚本的执行,用于启动PX4的所有应用程序。

1.启动过程1


http://www.kler.cn/a/581250.html

相关文章:

  • 网络信息安全专业(710207)网络安全攻防实训室建设方案
  • Cesium 入门教程(基于 vue3)
  • ubuntu20不同版本的cudnn切换
  • DeepSeek与Excel实现自动化办公:从基础到进阶的全面指南
  • PROC程序报无效的字符串或缓冲区长度问题
  • 初阶数据结构(C语言实现)——4.2队列
  • 支持selenium的chrome driver更新到134.0.6998.88
  • 13.boost项目总结(C++)
  • CoreWeave:从“微软专供”到OpenAI的座上宾
  • WPF 元素周期表
  • c++学习之QT综合项目一
  • Vue使用ScreenFull插件实现全屏切换
  • 基于STM32的智能家居门禁开锁控制系统(论文+源码)
  • 可复用的 Vue 轮播图组件
  • Unity 基础知识总结(持续更新中...)
  • SwiftUI 让视图自适应高度的 6 种方法(四)
  • 03_NLP常用的文本数据分析处理方法
  • 【AI落地应用实战】RAGFlow + 知识图谱Knowledge Graph + Deepseek + 知识库构建初步探索
  • Codeforces Round 1008 (Div. 2)(A-D)
  • Application.OnTime如何引用带参数的过程