pixhawk原生固件笔记
常用资料
名称 | 简介 |
---|---|
官方文档 | 虽然是官方文档,但是很多地方并没有讲清楚 |
github issues | 最全面的开发者问题集锦 |
被删除的官方文档(已被删除,此处为谷歌快照) | 此教程详细介绍了如何自己实现一个固定翼飞控 |
被删除的官方文档(已被删除,此处为谷歌快照) | 此教程详细介绍了如何更改自启动脚本 |
Freeape博客 | 国内一个四旋翼爱好者撰写的博客,基于老版本的px4写的,一些概念已经不适用,但仍然是非常宝贵的资料。 |
知乎达人的回答 | 大神在知乎上的回答,较详细解释了各个模块的作用 |
Mr.A的博客 | 另一位国内爱好者的博客,较底层。 |
代码执行流程
- 编译时将cmake/configs/nuttx_px4fmu-v2_default.cmake文件中配置的模块全部编译并烧写到固件中去。
- 地面站的配置会在flash中生成/fs/mtd_params文件,该文件包含了飞行器的各类信息(机架,校准信息,飞行模式等)。
- 启动pixhawk,执行/Firmware/ROMFS/px4fmu_common/init.d/rcS,该文件会读入之前生成的参数文件,进而选择执行哪一个脚本文件。(如选择DJI450机架会执行/Firmware/ROMFS/px4fmu_common/init.d/rc.mc_apps和/Firmware/ROMFS/px4fmu_common/init.d/4011_dji_f450),它们的主要作用为启动飞控所需的各类软件。
- 不同模块通过uORB通信。
常见问题
- 问题描述:编译后报错
Error: "arm-none-eabi-ld: region `flash' overflowed by 10244 bytes" while building px4fmu-v2_default
解决方法:此错误是由于你的编译器版本太低。将arm-none-eabi升级到最新版本,然后执行make clean
make px4fmu-v2_default
升级方法:在https://launchpad.net/gcc-arm-embedded/+download上下载最新版本gcc,解压后将得到的四个文件夹直接复制到\px4\toolchain
文件夹下替换即可。
pixhawk原生固件笔记相关推荐
- Windows / Ubuntu操作系统下Pixhawk原生固件PX4的编译方法
欢迎交流~ 个人 Gitter 交流平台,点击直达: 更新于2017.3.13 FAQ 本文说明针对 PX4 Firmware 1.6.0 问题 1: 找不到python jinja2模块 CMake ...
- Pixhawk原生固件PX4之常用函数解读
PX4Firmware 经常有人将Pixhawk.PX4.APM还有ArduPilot弄混.这里首先还是简要说明一下: Pixhawk是飞控硬件平台,PX4和ArduPilot都是开源的可以烧写到Pi ...
- Pixhawk原生固件PX4之串口添加读取传感器实现
本博客承接前一篇,对FreeApe的串口添加超声波传感器博文后半部分进行学习. 为什么叫前奏呢,因为用了伪传感器,把单片机用串口发送的有规律的数据当作了传感器读取到的数据.但是无碍的. 开发环境:Ub ...
- Pixhawk原生固件PX4之添外置传感器MPU6500
欢迎交流~ 个人 Gitter 交流平台,点击直达: 成功的在Pixhawk上添加了一个自定义的传感器MPU6500. Pixhawk飞控板上空余出一个SPI4接口 提示: 多出来的GPIO_EXT引 ...
- Pixhawk原生固件PX4之HIL硬件在环仿真
欢迎交流~ 个人 Gitter 交流平台,点击直达: 硬件在环仿真可以接遥控器进行调试. 串口设置 下载minicom sudo apt-get install minicom 配置飞控的设备号(/d ...
- Pixhawk原生固件PX4之位姿控制算法解读
参考文献:Minimum Snap Trajectory Generation and Control for Quadrotors PX4中多旋翼无人机的控制分为姿态控制和位置控制两个部分. 大致解 ...
- Pixhawk原生固件以往代码版本的下载
我们按照官网的下载方法只能下载到最新版本的代码,而GitHub上http://write.blog.csdn.net/postedit?type=edit包含了以往的各个版本: 若需要下载其他版本,该 ...
- Pixhawk原生固件PX4之顶层软件结构
下图所示为PX4的软件顶层架构,很重要. 左边是整个飞控系统的控制功能实现 用户通过地面站或者遥控器发出模式切换以及摇杆操作对飞行器进行控制,commander根据飞行器的当前状态对用户想要切换到的状 ...
- Pixhawk原生固件PX4之驱动ID
欢迎交流~ 个人 Gitter 交流平台,点击直达: 驱动ID PX4使用驱动ID将独立传感器贯穿于整个系统.这些ID存储于配置参数中,用于匹配传感器校正值,以及决定哪些传感器被记录到log中. 传感 ...
最新文章
- leetcode-回文数(简单)
- MySQL数值扩大一百倍_Mysql优化----一条SQL百倍提升之旅
- java.lang.StackOverflowError 解决方法
- mybatis第一讲:初探mybatis实现简单的查询
- RSA算法的Java实现
- Intel IOMMU Introduction
- 计算机化学博士点,2017年新增博士硕士授予单位公布!各高校博士、硕士学位授权点建设的总体情况如何?...
- Unity-黑暗之魂复刻-角色摄相机
- 如何用朴素贝叶斯模型预测柯南里的被害人和凶手
- android x86启动卡死,[更新]Android-x86启动成功,但是还有点小问题。
- java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题
- springboot项目搭建0051-通用mapper使用mapper.xml
- MySQL优化--整理
- 小红书数据分析工具丨三招教你巧用关键词提高小红书品牌热度
- 机器视觉入门之路(六一,大用图像二值化,从静态到动态)
- LFtoolBox0.4工具包解码Lytro光场图像及子孔径图像获取
- 48万奖金等你瓜分! 2019华为开发者大赛全栈开放!
- 计算机科学与技术最轻松的工作,高薪又轻松的好工作排行榜 你的职业上榜了吗?...
- grep怎样匹配tab键
- Fegin调用时出现JSON parse error:can not deserialize instance of ...
热门文章
- 漫谈移动开发中的组件化
- HDU 2515 Yanghee 的算术【找规律】
- UVa 590 Always on the run(简单链式DP)
- 操作系统实验报告7:进程间通信—共享内存。实现一个带有n个单元的线性表的并发维护。
- mysql如何防止插入重复数据_如何防止MySQL重复插入数据,这篇文章会告诉你
- [python爬虫] Selenium爬取内容并存储至MySQL数据库
- 【数据结构与算法】之深入解析“正则表达式匹配”的求解思路与算法示例
- Git内部原理之深入解析Git的引用和包文件
- 征战蓝桥 —— 2013年第四届 —— C/C++A组第6题——逆波兰表达式
- Netty实战 IM即时通讯系统(九)实现客户端登录