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开发与调试的更多相关文章

  1. 基于.Net C# 通信开发-网络调试助手

    基于.Net C# 通信开发-网络调试助手1.概述 网络调试助手是集TCP/UDP服务端客户端一体的网络调试工具,可以帮助网络应用设计.开发.测试人员检查所开发的网络应用软硬件的数据收发状况,提高开发 ...

  2. 基于.Net C# 通信开发-串口调试助手

    基于.Net C# 通信开发-串口调试助手 1.概述 串口调试助手,广泛应用于工控领域的数据监控.数据采集.数据分析等工作,可以帮助串口应用设计.开发.测试人员检查所开发的串口应用软硬件的数据收发状况 ...

  3. 基于socket开发网络调试助手

    1.什么是Socket? 在计算机领域socket被翻译为套接字,它是计算机之间进行通信的一种方式,通过socket这种约定,一台计算机可以向另外一台计算机发送数据和接收数据. 2.Socket的本质 ...

  4. 使用VS Code 从零开始开发并调试.NET Core 应用程序

    最新文章:http://www.cnblogs.com/linezero/p/VSCodeNETCore.html 使用VS Code 从零开始开发并调试.NET Core 应用程序,C#调试. 上一 ...

  5. 最新基于adt-bundle-windows-x86的android开发环境筹建

    最新基于adt-bundle-windows-x86的android开发环境搭建 某系统要配套做一个android客户端,来一次android开发环境快速搭建,系统Win7,具体步骤如下: 1.下载j ...

  6. 自定义控件开发的调试及DesignMode的状态处理

    在开发Winform程序的时候,我们往往需要根据需要做一些自定义的控件模块,这样可以给系统模块重复利用,或者实现更好的效果等功能.但在使用的时候,我们又往往设计时刻发现一些莫名其妙的错误,那么我们该如 ...

  7. 开发并调试 Mail Add-in

    开发并调试 Mail Add-in (mail app for Outlook) 准备工作 如果你的邮箱搭建在 Exchange Server 上,则可以创建邮件应用程序(Mail Add-in)来扩 ...

  8. 基于Eclipse的Android开发环境搭建

    1.  Java开发环境搭建 1.1  JDK下载安装 JDK(Java Development Kit )是针对Java开发人员发布的软件开发工具包.JDK 是整个Java的核心,包括了Java运行 ...

  9. 基于IDEA的JavaWeb开发环境搭建

    基于IDEA的JavaWeb开发环境搭建 基于IDEA的JavaWeb开发环境搭建 jdk下载安装配置环境变量 下载 安装 配置环境变量 下载安装激活使用IntelliJ IDEA 下载 安装 激活 ...

随机推荐

  1. 3-3 第三天 Promise 如何使用

    回调的方式来处理异步,目的是要保证一个执行顺序,先完成什么再去完成什么,它们的作用其实是相同的,显然回调更容易来书写,但是它难以维护,很容易遗漏错误处理代码而且无法使用return语句来返回这个值. ...

  2. pythonOCC版 瓶子代码

    #!/usr/bin/env python # -*- coding:utf-8 -*- ##Copyright 2009-2015 Thomas Paviot (tpaviot@gmail.com) ...

  3. BZOJ 4403 2982 Lucas定理模板

    思路: Lucas定理的模板题.. 4403 //By SiriusRen #include <cstdio> using namespace std; ; #define int lon ...

  4. java中的访问修饰符2

    综上所述:protected强调的是子类,deafult强调的是本包,private强调的是本类,public强调的是开放性.

  5. SSRS 报表 如何加参数

    SSRS 报表 如何加参数 连接上以后出现一个问题 就是给报表加上参数以后报表不断刷新,跟上次那个报表刷新是同样的问题.那么下面我们来解决一下. 1. 这是给报表添加默认参数进入页面后就不断的刷新刷新 ...

  6. YCbCr to RGB and RGB toYCbCr

    RGB => YCbCr: Y = 0.299R + 0.587G + 0.114BCb = -0.1726R - 0.3388G + 0.5114B + 128Cr = 0.5114R - 0 ...

  7. idea下的jsp开发中cannot resolve taglib with uri的解决方法

    写jsp难免会用到<c:foreach>标签,于是我在idea上的jsp顶头写下了 <%@ taglib prefix="c" uri= 'http://java ...

  8. 常用MySql命令列选

    常用MySql命令列选 命令 参数 含义 alter 数据库,表 修改数据库或表 backup 表 备份表 \c   取消输入 create 数据库,表 创建数据库或表 delete 表和行的表达式 ...

  9. Thread pool引起的程序连接数据库响应慢

    数据库版本:percona-mysql 5.6.16 ​在很长一段时间,都会出现程序连接数据库,出现响应慢的情况,正常在几到几十毫秒之间,但是偶尔会出现上百毫秒的情况: 开始由于开发重新设置并调整过程 ...

  10. 深入jar包:从jar包中读取资源文件

    我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...