Yannick 发表于 2022-10-25 06:08:58

如何在windows搭建Pixhawk的编译开发环境

引言
   这几年无人机发展迅速,商业应用越来越多,民间玩家也越来越多。对于民间玩家来说,Pixhawk无疑是非常值得入手的一块高端的开源飞控。某宝上也将pixhawk誉为开源飞控之王。pixhawk的性能和可扩展性是毋庸置疑的,但入门难度也确实非常大。
   PX4代码可以在mac os,linux或者windows上进行开发,官网上建议在Mac OS和Linux上进行开发,因为图像处理和高级导航在windows上不容易开发。但windows也是可以的.
   本文主要介绍了如何在Windows7系统下建立Pixhawk的Eclipse编译开发环境,文中很多内容来自于网上分享,具体请参考本文所列出的参考链接部分。本文针对实际情况做了一些整理,并细化了一些步骤。按照本文的步骤,最终可以在windows下建立起pixhawk的开发环境。不过在windows下编译速度确实会慢很多,第一次编译时间可能会在20分钟以上,Linux基础还不错的,建议在Linux下做开发。

0.   参考链接:
PX4官网Windows安装指南
Windows | PX4中文维基
pixhawk自学笔记之windows下的cmake编译
http://www.aichengxu.com/diannao/8770061.html
手把手教你在Windows7建立PX4的Eclipse开发环境
手把手教你在Windows7建立PX4的Eclipse开发环境 - 知乎专栏
1.   安装JAVA环境
JavaJDK下载地址
Java SE - Downloads。
JDK安装与环境变量配置方法
http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
也可直接复制已经安装好的Java目录到指定位置,然后修改环境变量即可
2.   安装cmake编译工具
下载cmake编译工具:Download | CMake
注意在安装过程中把cmake添加到环境中。



3.   安装PX4工具链
下载并安装,px4_toolchain_installer_v14_win.exe,
http://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)打开PX4
Console
(2)下载源码并检查子模块
git clone
PX4/Firmware
cd Firmware
git submodule update --init --recursive
cd ..说明:
lcd Firmware,进入PX4固件目录
lgit submodule update,自动重新检查子模块并重新下载。
l如果出现如下错误: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_default
upload 将编译好的固件上传至PIXHAWK中。
(5)清除编译文件
make clean   注:make
clean是清除所有的编译文件,这个只有在要清空所有文件,重新编译时才使用。该命令不是必要的步骤,一般不使用。
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→select
Cross GCC. 选择Firmware的目录,然后点击完成。(注:本文的CFirmware_pixLeader只是改了下工程名,方法相同)。
接着在右侧添加三个Target。
px4fmu-v2_default 编译固件(pixhawk)
px4fmu-v2_default upload 上传至pixhawk
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 to
not use : or \, such as /C/px4/Firmware
修改过程如下:


首先设置Current toolchain为Linux
GCC;设置Current builder为GNU
Make Builder。
然后按照下图相关位置,修改CWD和PWD的value,把value中的\改为/,如
G:/Pixhawk/WorkSpace/CFirmware_pixLeader即可。


最后双击执行px4fmu-v2_default即可编译。



6.   推荐网站
手把手教你在Windows7建立PX4的Eclipse开发环境
手把手教你在Windows7建立PX4的Eclipse开发环境 - 知乎专栏
Pixhawk官网
项目介绍 · PX4 Developer Guide
爱程序网Pixhawk学习资料
pixhawk - 爱程序网
页: [1]
查看完整版本: 如何在windows搭建Pixhawk的编译开发环境