详见博客 : http://blog.csdn.net/freeape/article/details/49024053
前言
官方开源的Pixhawk固件自2015年10月6号起,删除了makefile文件夹,按照在工具链中的控制台命令行编译,再按照原来的编译步骤去编译时就会出现问题了,因为固件已经由make
编译系统转到了cmake
编译系统了。
make编译
使用make
编译系统的编译步骤:
- 安装”px4_toolchain_installer_v14_win.exe”
- 运行 “PX4 Software Download”
- git submodule init
- git submodule update
- make distclean
- make archives
- make px4fmu-v2_default
这是2015-10-10的版本,发现已经没有了makefile文件夹:
获取make编译系统的Firmware版本
方式一
这些版本都是用make编译系统。想要下载哪个就点击进去:
需要注意的是,下载当前版本要下载.zip(如果下载下来后,编译过程中出现了fatal: Not a git repository (or any of the parent directories)问题,请见这篇文章:http://blog.csdn.net/freeape/article/details/47858527):
方式二(推荐)
通过git版本控制来切换分支得到想要的版本。
在git中,tag就是一个只读的branch,一般为每一个可发布的里程碑版本打一个tag。如在方式一中的tag,v1.0.1、v1.0.0rc12、v1.0.0rc11等。比如想要得到v1.0.1这个分支的代码,可以这样做:
- 先将master分支clone到本地
- git clone https://github.com/PX4/Firmware.git
- 在本地的git bash中切换分支:git checkout tag_name
- git checkout v1.0.1
- 然后再更新本地仓库,再编译
- git submodule init
- git submodule update
- 在工具链中的console中编译
- make distclean
- make archives
- make px4fmu-v2_default
cmake编译
使用cmake
编译系统的编译步骤:(首先是要将最新的固件clone到本地的)
- git submodule init
- git submodule update
--recursive
- 如果这一步失败了,则make distclean或者git clean -dfx(注意:这将会删除没有在Git版本控制下的所有文件)
- 重新来遍
- make px4fmu-v2_default