pixhawk开发环境

2023-05-16

Windows 7 64bit

软件安装


首先,需要安装一些软件,CMake、32位的Java jdk以及PX4 Toolchain Installer。 
CMake的话笔者使用的是CMake-3.3.2-win32-x86版本。 
关于CMake的安装有一点需要注意,在第三步Install Options安装选项中,需要将CMake加入到系统路径中: 
cmake 
Java sdk: 
java 
Eclipse 需要 Java,用命令 java -version 来查看 Java 是否配置 成功。 
cmd

接下来进行PX4固件相关的配置,安装PX4 Toolchain Installer,默认安装在C盘根目录下,笔者不服,非要安装在D盘,安装的时候一路下一步就行。

px4

安装完以后在开始菜单会出现一套工具链包括,PX4Console、PX4Ecplise. 
toolchain

代码编译


打开PX4console,下载PX4固件,输入指令:


<code class="hljs php has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">git <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">clone</span> https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//github.com/PX4/Firmware.git</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

切换到Firmware文件夹,输入指令:


<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">cd</span> Firmware</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

之后输入指令:


<code class="hljs brainfuck has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">git</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">submodule</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">update</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">init</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">recursive</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

(根据网速耗时有差异,耐心等待)

关键一步

在开始最后的编译之前,有一个步骤必不可少,将arm-none-eabi-gcc 4.7.4换成4.8.4,下载4.8.4版本的压缩文件。

gcc

解压后将这四个文件夹复制并替换到PX4Toolchain安装目录下的toolchain文件夹下,这里笔者替换到的文件夹为D:\px4\toolchain。

copyto

随后启动PX4 Console控制台进行编译,先进入Firmware文件夹,输入指令:


<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">cd</span> Firmware</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

进行编译


<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">make px4fmu<span class="hljs-attribute" style="box-sizing: border-box;">-v2_default</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

(漫长的等待,可能需要半个小时)

编译成功的界面如下:

done

如果在没有进行arm-none-eabi-gcc 4.7.4替换的情况下直接进行固件编译,则会出现如下所示的错误:

nok

为时不晚,依然来得及将下载好的4.8.4版arm-none-eabi-gcc解压并替换掉Toolchain文件夹下的相应文件。

之后重启PX4Console控制台,首先还是先进入到Firmware文件夹下:


<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">cd</span> Firmware</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

输入指令:


<code class="hljs go has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">make</span> clean</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

清除上一次的编译,然后重新编译,输入指令:


<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">make px4fmu<span class="hljs-attribute" style="box-sizing: border-box;">-v2_default</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

(又是漫长的等待,但是等待都是值得的) 
done

固件烧录

将飞控板通过USB连接电脑,输入以下指令即可完成固件的烧录:


<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">make px4fmu<span class="hljs-attribute" style="box-sizing: border-box;">-v2_default</span> upload</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

烧录成功的界面如下图: 
uploading

配置Eclipse


现在控制台已经编译成功了,接下来就是进行Eclipse的配置了

  • 打开PX4Eclipse。

第一次启动时,选择好workplace,并勾选Use this as the default and……。由于笔者以D盘作为工作目录,因此这里依然保持将workplace放置在D盘。

lalal

  • 建立工程

File -> New -> Makefile Project with Existing Code。 
然后点击Browse……到D:\px4\Firmware,并选择Cross GCC,点击Finish。 
这里写图片描述

然后进入Workbench:

goto

eclipse

  • 创建编译目标

可以在右边板块中Make Target( 或者菜单 Window -> Show View -> Make Target 也可以打开),选中根文件夹(Firmware),可以创建新的 make Target(绿色圆形按钮)。 如创建目标 px4fmu-v2_default 
detail

make

px4fmu-v2_default创建好如下:

Target

同理创建目标:all,archives,clean,distclean,px4io-v2_default, px4fmu-v2_default upload

  • 各 make target 说明

    • all – builds the autopilot software (depends on archives)
    • archives– 编译实时系统 NuttX OS
    • distclean– 删除所有编译的文件,包括编译的操作系统
    • clean – 删除编译的固件相关文件,不会清除archives
    • px4fmu-v2_default—FMU 固件
    • px4io-v2_default—IO 固件
    • px4fmu-v2_default upload – 烧录固件到飞控板
  • 路径配置 
    必须配置好Eclipse软件的路径才能进行编译,这一步至关重要。 
    打开eclipse软件,打开目录栏的Project -> Priorities 
    juno 
    有点意思的是,你得先打开左边Firmware中的随便一个文件,否则Priorities这一项会是灰色的,无法进行操作。 
    打开相应栏,更改CWD、PWD的路径: 
    开始的路径(如果装在默认路径则为C:\px4) 
    然后你的CWD路径为 C:\px4\Firmware 
    这里将路径改为 /D/px4/Firmware 
    差别不大,还望仔细,笔者当时在这个问题上可是纠结了特别久,无限的报错,not contain Cmakelists.txt。也是得到高人相助,开始人指出来笔者还根本看不出,然后仔细的发现原来是:“\”、“/”“这样的问题。 
    然后再将PWD的路径也做相应的更改。

  • 编译固件 
    点击上述Target中的px4fmu-v2_default,即可进行编译。此操作与在Console控制台中输入make有同样的效果。

finish

  • 烧录固件 
    固件的烧录可以直接使用QGC地面站进行。也可以在PX4 Console或者PX4 Eclipse中进行,编译成功后在PX4 Eclipse界面右侧点击Target中的px4fmu-v2_default upload即可进行固件的烧录。这样就可以将自己的算法加入到原生固件中了。

upload

至此,在Windows环境下编译Pixhawk原生固件PX4的操作已经完成。



Ubuntu 14.04 LTS

笔者同时也进行了Ubuntu上的环境搭建。跟随大流,笔者安装了Ubutnu 14.04 LTS虚拟机,64位操作系统。

在Ubuntu上搭建环境相对简单许多,按照PX4中文维基官网的教程即可。

工具链安装


  • 权限设置

把用户添加到用户组 “dialout”(如果这步没做,会导致很多用户权限问题):


<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> usermod <span class="hljs-operator" style="box-sizing: border-box;">-a</span> -G dialout <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$USER</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

然后注销后,重新登录,因为重新登录后所做的改变才会有效

  • 安装CMake

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> add-apt-repository ppa:george-edison55/cmake-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>.x -y
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> apt-get update
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> apt-get install python-argparse git-core wget zip \
    python-empy qtcreator cmake build-essential genromfs -y
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># simulation tools</span>
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> apt-get install ant protobuf-compiler libeigen3-dev libopencv-dev openjdk-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>-jdk openjdk-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>-jre clang-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.5</span> lldb-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.5</span> -y</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>  
  • 卸载模式管理器

Ubuntu配备了一系列代理管理,这会严重干扰任何机器人相关的串口(或usb串口),卸载掉它也不会有什么影响。


<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> apt-get remove modemmanager</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  
  • 更新包列表和安装下面的依赖包

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">sudo add<span class="hljs-attribute" style="box-sizing: border-box;">-apt</span><span class="hljs-attribute" style="box-sizing: border-box;">-repository</span> ppa:terry<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>guo/gcc<span class="hljs-attribute" style="box-sizing: border-box;">-arm</span><span class="hljs-attribute" style="box-sizing: border-box;">-embedded</span> <span class="hljs-attribute" style="box-sizing: border-box;">-y</span>
sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> update
sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install python<span class="hljs-attribute" style="box-sizing: border-box;">-serial</span> openocd <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">\</span>
    flex bison libncurses5<span class="hljs-attribute" style="box-sizing: border-box;">-dev</span> autoconf texinfo build<span class="hljs-attribute" style="box-sizing: border-box;">-essential</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">\</span>
    libftdi<span class="hljs-attribute" style="box-sizing: border-box;">-dev</span> libtool zlib1g<span class="hljs-attribute" style="box-sizing: border-box;">-dev</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">\</span>
    python<span class="hljs-attribute" style="box-sizing: border-box;">-empy</span> gcc<span class="hljs-attribute" style="box-sizing: border-box;">-arm</span><span class="hljs-attribute" style="box-sizing: border-box;">-none</span><span class="hljs-attribute" style="box-sizing: border-box;">-eabi</span> <span class="hljs-attribute" style="box-sizing: border-box;">-y</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>  

代码编译


根据PX4中文维基官网教程。

  • 安装Git

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install git<span class="hljs-attribute" style="box-sizing: border-box;">-all</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  
  • 下载代码

<code class="hljs php has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">mkdir -p ~/src
cd ~/src
git <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">clone</span> https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//github.com/PX4/Firmware.git</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>  
  • 初始化 
    先进入Firmware文件夹,进而进行初始化、更新子模块操作,耐心的等待……

<code class="hljs brainfuck has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">cd</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">Firmware</span>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">git</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">submodule</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">update</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">init</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">recursive</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>  
  • 编译 
    在上一步的操作结束之后,即可进行编译:

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">make px4fmu<span class="hljs-attribute" style="box-sizing: border-box;">-v2_default</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

注意到“make”是一个字符命令编译工具,“px4fmu-v2”是硬件版本,“default”是默认配置,所有的PX4编译目标遵循这个规则。

与Windows环境中相同,这里也可能因为gcc-arm-none-eabi版本不对,需要进行版本升级到4.8.4,方法如下:

  • 下载gcc-arm-none-eabi 4.8.4,对于的文件夹命名为arm-none-eabi-4_8-2014**q3**

<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">wget https://launchpadlibrarian<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.net</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">186124160</span>/gcc-arm-none-eabi-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>_8-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2014</span>q3-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">20140805</span>-linux<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.tar</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.bz</span>2</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  
  • 去旧迎新

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">pushd</span> .
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># => 卸载新版的gcc-arm-none-eabi</span>
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> apt-get remove gcc-arm-none-eabi
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># => 安装下载好的gcc-arm-none-eabi</span>
tar xjvf gcc-arm-none-eabi-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>_8-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2014</span>q3-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">20140805</span>-linux.tar.bz2
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> mv gcc-arm-none-eabi-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>_8-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2014</span>q3 /opt
exportline=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"export PATH=/opt/gcc-arm-none-eabi-4_8-2014q3/bin:\$PATH"</span>
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> grep -Fxq <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$exportline</span>"</span> ~/.profile; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">then</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">echo</span> nothing to <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">do</span> ; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">echo</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$exportline</span> >> ~/.profile; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">fi</span>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># => 使路径生效</span>
. ~/.profile
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">popd</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li></ul>  

笔者装的是Ubuntu 64位系统,而上述arm-none-eabi是直接下载的编译好的32位,还需要安装一个东西


<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install lsb<span class="hljs-attribute" style="box-sizing: border-box;">-core</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

可以检查arm-none-eabi 4.8.4是否安装成功,输入以下指令:


<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">arm<span class="hljs-attribute" style="box-sizing: border-box;">-none</span><span class="hljs-attribute" style="box-sizing: border-box;">-eabi</span><span class="hljs-attribute" style="box-sizing: border-box;">-g</span><span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">++</span> <span class="hljs-attribute" style="box-sizing: border-box;">-v</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

如果出现如下信息,交叉编译环境搭建就没有什么问题了 
ubuntu

  • 编译

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">cd</span> ~/src/Firmware
make</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>  

进入Firmware所在的文件夹,make成功后,显示如下: 
ok

Qt Creator


Qt Creator是官方唯一支持的IDE,在Ubuntu上针对PX4固件使用,便于看代码的同时也可以进行编译烧录。

  • 安装Qt

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> apt-get install qtcreator</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>  

Qt Creator的常见功能如下: 
create

在打开Qt之前,应该创建project文件:


<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">cd</span> ~/src/Firmware
mkdir ../Firmware-build
<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">cd</span> ../Firmware-build
cmake ../Firmware -G <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"CodeBlocks - Unix Makefiles"</span>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#可以发现Firmware-build目录生成了一些文件</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>  
  • 打开Qt 
    Qt 
    Ubuntu用户只要导入主文件夹里的CMakeLists.txt文件就可以了,打开Qt,通过File -> Open File or Project -> 选择CMakeLists.txt (默认位置在Firmware文件夹根目录下) 
    open

  • 项目配置 
    选择src/Firmware-build作为构建目录 
    build 
    运行设置 
    run

  • 编译 
    runit

至此,在Windows已经Ubuntu下的环境搭建已经全部搭建成功。 
现在是2016.7.26 19:37 为了确保方法的有效性,笔者已经在都装有Ubuntu虚拟机的笔记本和台式机上用上述方法完成了两种系统下环境搭建、代码编译的复现,亲测有效。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pixhawk开发环境 的相关文章

  • nginx整体结构,进程模型

    nginx的整体结构 xff1a 启动nginx 看到了一个master进程 xff0c 一个worker进程 命令 ps ef grep nginx 第一列 xff1a UID 进程所属的用户id 第二列 xff1a 进程ID PID 用
  • ICP、ISP、IAP、JTAG、SWD下载方式

    目录 ICP ISP IAP JTAG SWD下载方式 概述 JTAG SWD ICP ISP IAP ISP与ICP的差别 ISP和IAP的差别 ICP ISP IAP JTAG SWD下载方式 概述 JTAG和SWD是一种标准协议 xf
  • Linux定时任务crontab -e编辑无法保存

    创作时间 xff1a 2022年8月16日09 36 44 提示没权限 进入 var spool下查看cron目录是正常的 xff0c 但是在cron里面没有权限建立文件这个原因 可以尝试先在 var spool cron目录下用vim编辑
  • C++内存分配

    常见的内存分配方式 静态存储区 xff08 基栈 xff09 xff1a 此时的内存在程序编译的时候已经分配好 xff0c 并且在程序的整个运行期间都存在 里面的变量通常为 xff1a static变量 全局变量const常量 xff1b
  • PWM输出讲解

    一 PWM基础知识 1 PWM的定义 PWM xff0c 是脉冲宽度调制 缩写 xff0c 它是通过对一系列脉冲的宽度进行调制 xff0c 等效出所需要的波形 xff08 包含形状以及幅值 xff09 xff0c 对模拟信号电平进行数字编码
  • Win11中安装Linux 教程 | WSL2的使用

    Windows11今天正式向大家开始推送了 xff0c 这也算是十一假期中的一个重磅消息了 我相信有很多小伙伴会升级到Windows11 那这个视频就讲解一下如何在Windows11中安装Linux系统 xff0c 来帮助我们开发 也就是我
  • 没有键盘和显示屏玩转树莓派

    前期准备 win10电脑一台 xff0c 树莓派开发板 xff0c SD卡 xff0c 电源 xff0c 一根网线 xff08 教程中树莓派为RPI3 xff09 废话不说 xff0c 直接跟着走就行了 xff08 1 xff09 把SD卡
  • 无人机遥感应用

    xfeff xfeff 遥感的通用格式为tiff格式 科普 无人机遥感技术的几个领域应用 2016 09 14 10 10 来源 无人机频道 无人机 科普 原标题 xff1a 科普 无人机遥感技术的几个领域应用 无人机遥感在气象监测中的应用
  • Laf Assistant:云开发从未如此爽快!

    原文链接 xff1a https forum laf run d 67 工欲善其事 xff0c 必先利其器 在编写代码时 xff0c IDE 也是我们不可或缺的 它可以让我们更高效地完成代码编写 xff0c 提高开发效率 因此 xff0c
  • S 串口编程 详解4 串口发送数据

    S 串口编程 详解4 串口发送数据 串口发送数据包括 xff1a 十六进制发送数据 手动发送数据 自动发送数据 手动发送数据的代码如下 xff1a 手动发送 long TX count 61 0 void CSCOMMDlg OnButto
  • FreeRtos 获取任务运行时状态以及实现方式分析

    一 获取全部任务的状态 1 1 系统API函数 void vTaskList char pcWriteBuffer 1 2 函数功能 返回所有任务的 xff1a 任务名任务当前运行状态任务优先级任务剩余的最大栈空间任务ID 1 3 函数参数
  • CS231n Lecture 11:图像分割与检测(各种R-CNN, YOLO, SSD)

    CS231n Lecture 11 xff1a 图像分割与检测 图像的分割和检测的相关任务有不同的粒度 xff0c 我们首先明确一下有关概念 xff1a 语义分割 xff08 Semantic Segmentation xff09 xff1
  • 计算机系统基础-fork()

    计算机系统基础 fork 链接 xff1a fork函数 运行结果 结果分析 1 fork函数 fork 系统调用用于创建一个新进程 当运行这个程序时 xff0c 将有如下结果 xff1a prompt gt p1 hello world
  • 令人意外的构造函数和析构函数

    印象中构造函数和析构函数的使用不太会影响效率 xff0c 但在实际开发中却遇到 xff0c 一个函数频繁的调用一个类的构造函数和析构函数却很耗时 class TestA public TestA m dX 61 m dY 61 m dZ 6
  • C语言实现星星菱形图形!

    如果想输出例如这样的三角形 xff0c 我们可以先考虑把他看成两部分 xff1a 把前六行看成第一部分 xff0c 后五行看成第二部分 xff1b 观察图形我们不难发现 xff0c 每一行都是先输出空格 xff0c 然后是星星 xff1b
  • C语言经典算法:求1-100之间素数

    include lt stdio h gt include lt stdlib h gt include lt assert h gt include lt math h gt int prime int n 素数除了1和它本身不能被其他数
  • C语言经典例子,求两个数的最大公约数和最小公倍数

    求两个数的最大公约数 xff0c 我们首先可以想到辗转相除法 xff0c 即用最大的数除以小的数 xff0c 得到以后的余数 xff0c 再用上次较小的数继续除以余数 xff0c 直到余数为0 最后剩下的最小数即为最大公约数 例如 xff0
  • 用C语言实现 s=a+aa+aaa+aaaa+aaaaa. a是一个数字,例如 s = 2+22+222+2222+222,a的个数n由键盘输入

    用C语言实现 s 61 a 43 aa 43 aaa 43 aaaa 43 aaaaa a是一个数字 xff0c 例如 s 61 2 43 22 43 222 43 2222 43 222 a的个数n由键盘输入 include lt std
  • C语言编程:一球从100米高度自由落下,每次落地后反弹回原来高度的一半,再落下,求它第10次落地时,共经过多少米,?第十次反弹多高?

    一球从100米高度自由落下 xff0c 每次落地后反弹回原来高度的一半 xff0c 再落下 xff0c 求它第10次落地时 xff0c 共经过多少米 xff0c xff1f 第十次反弹多高 xff1f include lt stdio h
  • 巧用 IOPS 提升 Etcd 30% 的写入性能

    Laf 公众号已接入了 AI 聊天机器人 x1f916 xff0c 支持 GPT Claude 以及 Laf 专有模型 xff0c 可通过指令来随意切换模型 欢迎前来调戏 x1f447 本文转自博客园 xff0c 原文 xff1a http

随机推荐

  • 求斐波那契数列的第n个数;1,1,2,3,5,8,13,21.....

    递归方法 xff1a include lt stdio h gt include lt stdlib h gt int Fibonacci sequence int n if n 61 61 1 n 61 61 2 递归结束的条件 xff0
  • strchr、strrchr、memchr函数详解及模拟实现

    strchr 函数介绍 函数原型 xff1a span class hljs keyword char span span class hljs built in strchr span span class hljs keyword co
  • 【排序算法】:基数排序

    定义 基数排序 xff08 radix sort xff09 属于 分配式排序 xff08 distribution sort xff09 xff0c 又称 桶子法 xff08 bucket sort xff09 或bin sort xff
  • 【排序算法】:九大排序算法总结

    直接插入排序 参考博客 xff1a 排序算法 xff1a 直接插入排序 时间复杂度 xff1a 平均情况 xff1a O N 2 最好情况 xff1a O N 最坏情况 xff1a O N 2 空间复杂度 xff1a O 1 稳定性 xff
  • 使用Marlin1.1.x固件进行多电机控制(4轴联动+5个挤出机)

    有必要发一个博客 xff0c 这几天做实验没啥进展 xff0c 烦 写东西清理思路 xff0c 整理思维 这篇博文为了交流 xff0c 为两种读者 xff0c 第一种是做3d打印机想要给机器增加5个挤出机的人 xff0c 第二种是遇到运动控
  • 单下划线和双下划线(私有变量和公有变量)

    单下划线 开始的成员变量叫做保护变量 xff0c 意思是只有类对象和子类对象自己能访问到这些变量 xff1b 双下划线 开始的是私有成员 xff0c 意思是只有类对象自己能访问 xff0c 连子类对象也不能访问到这个数据 以单下划线开头 x
  • STM32寄存器的简介、地址查找,与直接操作寄存器

    什么是寄存器 提到单片机 xff0c 就不得不提到寄存器 根据百度百科介绍 xff0c 寄存器是中央处理器内的组成部分 寄存器是有限存贮容量的高速存贮部件 xff0c 它们可用来暂存指令 数据和地址 简单来说 xff0c 寄存器就是存放东西
  • 卡尔曼滤波五个公式推导

    一 两个方程 1 xff0c 系统的状态方程 xff08 预测方程 xff09 x k 61 A k
  • 实时操作系统RTOS(一)——资源整理

    文章目录 1 COS2 FreeRTOS3 NuttX参考资料 1 COS Micrium官网 C全家桶的githubMicrium书籍 xff08 C OS III C OS II C TCP IP C USB xff09 Micrium
  • 路由器设置之后不能连网,动态ip显示为0

    刚从学习毕业 xff0c 那么独居的日子里 xff0c 网络自然是不可或缺的 xff0c 于是博主在等到安装人员上门之后 xff0c 他竟然提出无耻的要求 配置路由器要收费 xff0c 于是乎作为一名计算机从业者 xff0c 自然不能让他把
  • 链表的倒序

    1 用函数实现 xff1a 定义3个临时变量 xff0c p1储存当前节点 xff0c p2储存后一个节点 xff0c p3储存重新指向的那个节点 步骤 xff1a 1 p1指向当前节点 xff0c p2指向后一个节点 xff0c 将p2的
  • Python入门:使用PyCharm调试Python程序

    Python入门 xff1a 使用PyCharm调试Python程序 面向Python初学者 PyCharm集成运行环境 在了解Python编程之前 xff0c 我们需要先弄明白如何编写运行代码 所以非常有必要先讲解一下Python的集成开
  • Debian9.5安装g++

    看了网上很多文章 gcc安装很轻松 xff0c 但是g 43 43 的安装过程就曲折多了 写此博客记录一下Debian9 5操作系统下g 43 43 安装过程 首先替换apt源为阿里云的源 xff1a debian 配置 debian 7
  • CMakeLists.txt文件中添加OpenCV库依赖项

    CMakeLists txt文件中添加OpenCV库依赖项 cmake needs this line cmake minimum required VERSION 2 8 Define project name project openc
  • 物理地址和逻辑地址

    1 物理地址和逻辑地址 物理地址 xff1a 加载到内存地址寄存器中的地址 xff0c 内存单元的真正地址 在前端总线上传输的内存地址都是物理内存地址 xff0c 编号从0开始一直到可用物理内存的最高端 这些数字被北桥 Nortbridge
  • 树莓派无opencv时进行视频实时处理

    用树莓派 xff0c 想要进行图像处理 xff0c 但网上的很多教程都用opencv xff0c opencv在树莓派上安装很麻烦 xff0c 那怎样进行图像处理呢 xff1f 代码如下 xff1a from picamera array
  • make: warning: Clock skew detected. Your build may be incomplete.

    问题现象 xff1a make warning Clock skew detected Your build may be incomplete 问题分析 xff1a 根据报警提示 xff0c 应该问题出现时钟问题 问题原因 xff1a 当
  • 关于Java之IO流音乐拼接小项目

    需求 xff1a 做一个音乐串烧 分析 xff1a 1 有n个音乐 xff0c 找到高潮部分 xff0c 2 获取高潮部分的流对象 3 把这部分对象保存成一个mp3 4 把它们拼接起来 以下为源码供大家分享 xff1a 方法一 xff1a
  • pixhawk源码下载与编译

    今天和同学在一起讨论发现自己还在看的pixhawk源码的版本好低啊 xff0c 就下个最新的吧 想起有些人还不会下载源码 xff0c 以及用什么工具查看 源码的下载我用的是git shell工具下的 xff0c px4的github网址是h
  • pixhawk开发环境

    Windows 7 64bit 软件安装 首先 xff0c 需要安装一些软件 xff0c CMake 32位的Java jdk以及PX4 Toolchain Installer CMake的话笔者使用的是CMake 3 3 2 win32