Pixhawk---基于NSH的Firmware开发与调试
1 相关知识了解
1.1 Nuttx系统
嵌入式实时操作系统(RTOS)。
强调标准兼容和小型封装,具有从8位到32位微控制器环境的高度可扩展性。NuttX 主要遵循 Posix 和 ANSI 标准,对于在这些标准下不支持的功能。或者不适用于深度嵌入环境的功能(如 fork()),採用来自 Unix 和常见 RTOS (如 VxWorks)的额外的标准 API。
支持文件系统、设备驱动、网络、USB支持、Flash支持、图形支持等。
1.2 NSH
NuttShell和Unix终端命令相似。NSH通过串口或者USB转串口来与PX4FMU交互,因此能够使用相似超级终端的串口软件来与FMU交互。在Pixhawk开发中,建立好了开发环境后(安装了工具链等),PX4 Toolchain 已经附带了一个串口工具:TeraTerm。假设版本号低了。能够单独去下载这个软件并安装。
在PX4FMU中,NSH默认是通过USB转串口和串口5(波特率为57600)来交互。能够更改默认设置。
将Pixhawk通过USB转串口连接上电脑上后,再打开TeraTerm软件。通过输入『?
』或『help
』指令能够查看当前NSH支持的指令已经编译好的应用。其它的一些指令跟Unix终端中使用方法几乎相同,只是一些指令的參数都没有了。
通过串口5的交互能打印PX4FMU启动时的一些信息。这个能够用来查看系统启动方面的信息。
当然启动完后,还能够输入一些指令来与PX4FMU来交互。
2 编译固件和刷固件
刷固件的方式非常多,能够通过地面站软件QGC或者MP都能够刷固件,能够刷稳定版的固件或者自己编译出来的自己定义固件。这里通过PX4 Console来编译固件和刷固件。打开控制台。进入到固件目录:
cd /d/px4/firmware
删除全部编译的文件,包含编译的操作系统,即删除Archives
目录和Build
目录里面的内容一般不使用:
make distclean
编译操作系统:
make archives
一般仅仅有当Nuttx配置改变了或者submodule(在GIT中链接外部库,比方MAVLINK或者Nuttx OS)发生了改变才会去编译操作系统,平时编译一次就好了,并且这个编译一次是须要非常长的时间的,一个小时左右吧。虽然并行编译会加高速度,可是配置不好。并行编译非常easy在系统执行的过程中出问题。
假设你使用苹果系统或者Linux系统,这个时间也会大大减少。
删除编译的固件相关文件,即删除Build
目录里面的内容:
make clean
编译固件。以px4fmu-v2_default版本号为例:
make px4fmu-v2_defaul
编译并刷固件,编译完后紧接着刷固件:
make upload px4fmu-v2_default
在控制台上用到上面的指令就几乎相同了。
3 调试方式
3.1 測试小功能程序
由于在window
posted on
2017-06-26 18:40
slgkaifa
阅读(...)
评论(...)
编辑
收藏
Pixhawk---基于NSH的Firmware开发与调试的更多相关文章
- 基于.Net C# 通信开发-网络调试助手
基于.Net C# 通信开发-网络调试助手1.概述 网络调试助手是集TCP/UDP服务端客户端一体的网络调试工具,可以帮助网络应用设计.开发.测试人员检查所开发的网络应用软硬件的数据收发状况,提高开发 ...
- 基于.Net C# 通信开发-串口调试助手
基于.Net C# 通信开发-串口调试助手 1.概述 串口调试助手,广泛应用于工控领域的数据监控.数据采集.数据分析等工作,可以帮助串口应用设计.开发.测试人员检查所开发的串口应用软硬件的数据收发状况 ...
- 基于socket开发网络调试助手
1.什么是Socket? 在计算机领域socket被翻译为套接字,它是计算机之间进行通信的一种方式,通过socket这种约定,一台计算机可以向另外一台计算机发送数据和接收数据. 2.Socket的本质 ...
- 使用VS Code 从零开始开发并调试.NET Core 应用程序
最新文章:http://www.cnblogs.com/linezero/p/VSCodeNETCore.html 使用VS Code 从零开始开发并调试.NET Core 应用程序,C#调试. 上一 ...
- 最新基于adt-bundle-windows-x86的android开发环境筹建
最新基于adt-bundle-windows-x86的android开发环境搭建 某系统要配套做一个android客户端,来一次android开发环境快速搭建,系统Win7,具体步骤如下: 1.下载j ...
- 自定义控件开发的调试及DesignMode的状态处理
在开发Winform程序的时候,我们往往需要根据需要做一些自定义的控件模块,这样可以给系统模块重复利用,或者实现更好的效果等功能.但在使用的时候,我们又往往设计时刻发现一些莫名其妙的错误,那么我们该如 ...
- 开发并调试 Mail Add-in
开发并调试 Mail Add-in (mail app for Outlook) 准备工作 如果你的邮箱搭建在 Exchange Server 上,则可以创建邮件应用程序(Mail Add-in)来扩 ...
- 基于Eclipse的Android开发环境搭建
1. Java开发环境搭建 1.1 JDK下载安装 JDK(Java Development Kit )是针对Java开发人员发布的软件开发工具包.JDK 是整个Java的核心,包括了Java运行 ...
- 基于IDEA的JavaWeb开发环境搭建
基于IDEA的JavaWeb开发环境搭建 基于IDEA的JavaWeb开发环境搭建 jdk下载安装配置环境变量 下载 安装 配置环境变量 下载安装激活使用IntelliJ IDEA 下载 安装 激活 ...
随机推荐
- UVA-10347 Medians 计算几何 中线定理
题面 题意:已知三角形三中线的长度nmp,求面积 题解:如果知道中线定理就比较简单了 三边长为 3*a=sqrt(8*mb*mb+8*mc*mc-4*ma*ma) 3*b=sqrt(8*ma*ma+8 ...
- django 实现websocket
一.简述:django实现websocket,之前django-websocket退出到3.0之后,被废弃.官方推荐大家使用channels. channels通过升级http协议 升级到websoc ...
- CSS简单入门
- Java攻城狮学习路线 - 一. 什么是CSS CSS指层叠样式表(Cascading Style Sheets),定义如何显示HTML元素 二. CSS语法 /* 选择器 { 声明: 声明:}* ...
- 前端-JS思维导图
看不清的朋友右键保存或者新窗口打开哦!喜欢我可以关注我,还有更多前端思维导图笔记
- 第十课: - 读取/写入Excel/Json格式数据
第 10 课 从DataFrame到Excel 从Excel到DataFrame 从DataFrame到JSON 从JSON到DataFrame In [1]: import pandas as pd ...
- 爱,死亡和机器人 第十四集 齐马蓝 中文字幕(Python处理utf8文件获取想要的内容)
处理代码 file = "a.srt" fi = open(file, mode='r') a = fi.readline() i = 1 while len(str(a)) != ...
- 函数编程中functor和monad的形象解释
函数编程中functor和monad的形象解释 函数编程中Functor函子与Monad是比较难理解的概念,本文使用了形象的图片方式解释了这两个概念,容易理解与学习,分别使用Haskell和Swift ...
- 三大Flex布局用法(转载)
Flex布局基础 对于Flex 初学者,在Hello World之后,Flex布局便是下一站学习要的要义.若是从传统的Html转变而来,总希望找到类似于Div/Table/UL等之类的控件,也希望在 ...
- css 里面怎么改链接颜色
a.color1:link{color: #FFFFFF ; text-decoration:none;} /*常规时候的样式*/a.color1:visited{color: #FFFFFF; te ...
- python开发项目:学生选课系统
程序要求:1.创建北京.上海两所学校(分析:通过学校类实例化两个学校实例) 2.创建Linux.python.go三个课程,Linux\go在北京开,Linux在上海开(创建Linux.python. ...