如何在windows7下建立Pixhawk的Eclipse编译开发环境
来源:互联网 发布:cost of equity 知乎 编辑:程序博客网 时间:2024/05/20 06:07
如何在windows7下建立Pixhawk的Eclipse编译开发环境
0. 参考链接:
PX4官网Windows安装指南
https://px4.osdrone.net/1_Getting-Started/windows.html
pixhawk自学笔记之windows下的cmake编译
http://www.aichengxu.com/diannao/8770061.html
手把手教你在Windows7建立PX4的Eclipse开发环境
https://zhuanlan.zhihu.com/p/25198079
1. 安装JAVA环境
java jdk下载地址
http://www.oracle.com/technetwork/java/javase/downloads/index.html。
JDK安装与环境变量配置方法
http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
也可直接复制已经安装好的Java目录到指定位置,然后修改环境变量即可
2. 安装cmake编译工具
下载cmake编译工具:https://cmake.org/download/
注意在安装过程中把cmake添加到环境中。
3. 安装PX4工具链
下载并安装,px4_toolchain_installer_v14_win.exe,
http://link.zhihu.com/?target=http%3A//firmware.diydrones.com/Tools/PX4-tools/px4_toolchain_installer_v14_win.exe
双击安装即可。
安装完以后在开始菜单会出现一套工具包括,PX4Console、PX4Ecplise,以及其他的几个软件都是有用的。
4. 安装QGC地面站及PX4 USB驱动
下载并安装,QGroundControl.exe,双击安装即可
安装过程中,会自动安装PX4的USB驱动,和Eclipse环境
5. 编译
编译pixhawk有两种方法:(1)通过console(控制台)编译;(2)通过Eclipse(IDE)编译。一般是先通过console(控制台)下载固件并完成编译后,在通过Eclipse(IDE)查看源码并进行编译。
5.1 通过console(控制台)编译
(1)打开PX4Console
(2)下载源码并检查子模块
gitclonehttps://github.com/PX4/Firmware.git
cd Firmware
git submodule update --init --recursive
cd ..
说明:
- cd Firmware,进入PX4固件目录
- git submodule update,自动重新检查子模块并重新下载。
- 如果出现如下错误:fatal:Not a git repository (or any of the parent directories): .git
- 执行 git init 即可
(3)编译源码
cd Firmware
make px4fmu-v2_default
注:
l “make”是一个字符命令编译工具,
l “px4fmu-v2”是硬件/ardupilot版本,
l “default”是默认配置,所有的PX4编译目标遵循这个规则。
l 显示100%即是编译成功:
l 在windows下有时候会遇到假死,进度卡住一直不懂,无论等多久也没反应,这是关掉PX4 Console,重新打开,再执行make px4fmu-v2_default 就可以继续编译了。
(4)下载源码
make px4fmu-v2_default upload
注:执行make px4fmu-v2_defaultupload将编译好的固件上传至PIXHAWK中。
(5)清除编译文件
make clean
注:makeclean是清除所有的编译文件,这个只有在要清空所有文件,重新编译时才使用。该命令不是必要的步骤,一般不使用。
5.2 通过Eclipse(IDE)编译
(1)设置JAVA的工作目录
首先你的电脑必须先安装JAVA,64位系统如果无法打开Eclipse,就要设置一下JAVA的工作目录。
设置JAVA的工作目录的方法有2种:
l 在Eclipse的根目录下编辑 eclipse.ini,添加JAVA的工作的目录,例如-vm c:\ProgramFiles(x86)\Java\jre_xxx\javaw.exe ,根据自己的情况修改。
l 在环境变量中添加Java的工作路径。
(2)导入工程
在开始菜单中启动eclipse。
首次启动Eclipse需要设置工作空间。
然后导入PX4固件,选择File → Import → C/C++ → Existing Makefile project→selectCross GCC.选择Firmware的目录,然后点击完成。(注:本文的CFirmware_pixLeader只是改了下工程名,方法相同)。
接着在右侧添加三个Target。
l px4fmu-v2_default编译固件(pixhawk)
l px4fmu-v2_default upload上传至pixhawk
l clean 清除编译文件
结果如下图所示:
主要文件夹介绍:
- Build 文件夹:存放的是编译过程中的中间文件
- Debug文件夹:存放用于调试的文件及工具
- documentatiom文件夹:存放说明文档
- Image文件夹: 存放编译生成后,可执行的文件(可以烧入PX4里,执行)
- CMake文件夹:编译规则文件夹
- mavlink文件夹: 存放mavlink协议文件的文件夹
- msg文件夹:存放 通信的文件,主要是基站与飞机直接的通信信息
- nuttx文件夹: 存放PX4 运行的实时操作系统nuttx 所有文件
- src文件夹:存放着所有驱动和应用代码(主要研究的就是这块代码)
- Tools文件夹:存放着编译,mavlink等一些工具
在使用Eclipse编译的时候可能会有Cmake提示的找不到目录报错,错误如下:
按以下步骤尝试,修改一下编译工具和路径。
Project Properties > C/C++ Build > Tool Chain Editor,and set Current toolchain : Linux GCC, Current builder : GNU Make Builder.
And C/C++ Build > Environment, Change CWD and PWD vales tonot use : or \, such as /C/px4/Firmware
修改过程如下:
首先设置Current toolchain为LinuxGCC;设置Current builder为GNUMake Builder。
然后按照下图相关位置,修改CWD和PWD的value,把value中的\改为/,如
G:/Pixhawk/WorkSpace/CFirmware_pixLeader即可。
最后双击执行px4fmu-v2_default即可编译。
6. 推荐网站
手把手教你在Windows7建立PX4的Eclipse开发环境
https://zhuanlan.zhihu.com/p/25198079
Pixhawk官网
https://dev.px4.io/zh/
爱程序网Pixhawk学习资料
http://www.aichengxu.com/tag/pixhawk/
- 如何在windows7下建立Pixhawk的Eclipse编译开发环境
- PIXHAWK开发环境建立(固件编译)
- pixhawk在linux下的开发环境的安装
- 在windows下搭建pixhawk的开发环境
- pixhawk 编译开发环境
- Pixhawk交叉编译开发环境的搭建
- Pixhawk交叉编译开发环境的搭建
- linux下pixhawk的开发环境配置
- 如何建立Eclipse RBF的开发环境
- Windows7+Eclipse环境下Hbase Java客户端的开发
- 如何在Windows7操作系统下安装用于C++开发的Eclipse
- 如何在windows7操作系统下搭建用于开发网站的web服务器环境
- Windows下Cygwin环境的Hadoop安装(4)- 在Eclipse中建立hadoop开发环境
- Windows下Cygwin环境的Hadoop安装(4)- 在Eclipse中建立hadoop开发环境
- 如何在Windows下配置Android的Eclipse开发环境
- 在Eclipse中如何利用在Anaconda中建立的Python虚拟环境进行开发
- Ubuntu环境下Pixhawk原生固件PX4的编译
- Android 开发环境在 Windows7 下的部署安装
- 自定义TabBarView,快速实现Tab+ViewPager的Activity
- centos7 安装shadowsocks客户端
- HTML
- centos6 安装 xgboost0.6
- 禁止cookie如何获得session的值
- 如何在windows7下建立Pixhawk的Eclipse编译开发环境
- Activity给自己下面其中一个Fragment传数据
- Linux脚本调用Java模板,将Properties文件放到CLASSPATH中的配置方式
- 初识jemeter和第一个例子
- Speex Acoustic Echo Cancellation (AEC) 回声消除模块的使用
- UCOSii项目在NIOSii上的移植
- 用post方法实现Django表单
- Spring Boot集成mybatis
- 进程间通信IPC、LPC、RPC