Pixhawk开发环境搭建之PX4固件编译
⼀ Windows环境下编译
1.1编译前期准备
1.    软件下载
需要安装CMake、Java jre或者jdk以及PX4 Toolchain Installer。下载链接如下:
2.    软件安装
按照操作流程⼀步⼀步安装即可。
3.    编译Pixhawk原⽣固件PX4
3.1 ⼯具链下载
相关⽂件下载:arm-none-eabi-gcc
下载完之后解压到桌⾯
之后桌⾯会出现⽂件夹,打开⽂件夹5.42016q3,并将⽂件夹中的四个⽂件夹复制并替换到PX4Toolchain安装⽬录下的toolchain ⽂件夹下。如下图所⽰:
执⾏完成后,就可以开始下⼀步了。
⼯具链最好下载最新版的,否则会造成字节溢出。具体在下⾯编译过程会说明。(但是最新版有可能在编译ardupilot固件时出现问题,所以请选择合适的⼯具链版本。⽬前4.9q3的⼯具链可以同时编译成功PX4固件和ardupilot固件)
1.2 console下代码编译
打开PX4console,该截图打开⽅式会在windows开始菜单中的所有程序到。
(下载需要⼀定时间,请耐⼼等待)
下载完成之后,切换到Firmware⽂件夹,输⼊指令:cd Firmware
之后输⼊指令,进⾏初始化:
git submodule init
git submodule update --init --recursive
现在到了前⾯提到的字节溢出的问题地⽅了。
完成上述指令后,输⼊指令,进⾏编译:make px4fmu-v2_default
编译成功的界⾯如下图所⽰:
如果在没有进⾏arm-none-eabi-gcc替换或者替换的版本过低的情况下,直接进⾏固件编译,则会出现如下"overload"所⽰的错误:
所以出现这类问题可下载⾼版本的arm-none-eabi-gcc,⼀般不会出现溢出的问题。jdk最新下载安装步骤
3.3  固件烧录
将飞控板通过USB连接电脑,输⼊以下指令即可完成固件的烧录:
make px4fmu-v2_default upload
1.3  Eclipse下编译
建⽴⼯程
File -> New -> Makefile Project with Existing Code。
然后点击Browse……到C:\px4\Firmware,并选择Cross GCC,点击Finish。
创建编译⽬标
可以在右边板块中Make Target( 或者菜单 Window -> Show View -> Make Target 也可以打开),选中根⽂件夹(Firmware),可以创建新的 make Target(绿⾊圆形按钮)。 如创建⽬标px4fmu-v2_default 。
同理创建⽬标:all,archives,clean,distclean,px4io-v2_default,px4fmu-v2_default upload。
各 make target 说明
all – builds theautopilot software (depends on archives)
archives– 编译实时系统 NuttX OS
distclean– 删除所有编译的⽂件,包括编译的操作系统
clean – 删除编译的固件相关⽂件,不会清除archives
px4fmu-v2_default—FMU固件
px4io-v2_default—IO固件
px4fmu-v2_defaultupload – 烧录固件到飞控板
路径配置
配置好Eclipse软件的路径才能进⾏编译,打开⽬录栏的Project ->Priorities 。设置成如下路径即可。
编译固件
依次编译需要的固件即可。(相应的编译⽬标点锤⼦符号)
⼆ Linux环境下编译
环境:ubuntu14.04LTS
Linux下控制台编译的步骤资料⽐较多,没有写详细步骤,可正常编译。
官⽹步骤:dev.px4.io/starting-installing-linux.html
参考博客:blog.csdn/wangcfan/article/details/51271608
Qtcreator编译
官⽹:dev.px4.io/starting-building.html
2.1 启动qt
2.2建⽴project file
3.3  选择File -> Open File or Project ->选择主⽂件夹的
3.4 配置
3.5编译