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

从零开始学习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

相关文章:

  • AI Agent系列(三) -Agent实现
  • 云原生服务网格:微服务通信的智能中
  • vue3-computed计算属性和reactive响应式系统结合使用
  • 01、Hive从入门到放弃,第一章:简单入门与安装
  • 引入其他 YML 配置源 —— Spring Boot 中的 `import` 功能
  • Leetcode-146.LRU缓存
  • Oracle RAC环境下自动清理归档日志实战指南
  • vscode更新后: 适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新
  • 【从零开始学习计算机科学】操作系统(九)大容量存储器
  • Fast DDS Security--仿问控制
  • 《OpenCV》—— dlib(换脸操作)
  • Figma桌面客户端安装与协作设计入门指南(附官方下载链接)
  • 《React 属性与状态江湖:从验证到表单受控的实战探险》
  • Apache Hudi 性能测试报告
  • MVCC的理解(Multi-Version Concurrency Control,多版本并发控制)
  • 蓝桥杯备考:排队顺序(链表)
  • Spring Boot 整合 Redis
  • Python数据分析之数据可视化
  • 数据结构——堆
  • 使用异或完成两个整数的交换
  • 人民日报和音:相信中国就是相信明天
  • 复旦建校120周年大型义诊举行,百余名专家服务市民超三千人次
  • 时隔三年,俄乌直接谈判重启
  • 马上评|训斥打骂女儿致死,无暴力应是“管教”底线
  • 国家统计局向多省份反馈统计督察意见
  • 手机表面细菌菌落总数可能比马桶高10倍,医生详解如何洗手