Pixhawk之10月6号后固件编译由make编译系统转到cmake编译系统后

详见博客 : http://blog.csdn.net/freeape/article/details/49024053

前言

  官方开源的Pixhawk固件自2015年10月6号起,删除了makefile文件夹,按照在工具链中的控制台命令行编译,再按照原来的编译步骤去编译时就会出现问题了,因为固件已经由make编译系统转到了cmake编译系统了。

make编译

  使用make编译系统的编译步骤:

  1. 安装”px4_toolchain_installer_v14_win.exe”
  2. 运行 “PX4 Software Download”
  3. git submodule init
  4. git submodule update
  5. make distclean
  6. make archives
  7. make px4fmu-v2_default

这是2015-10-10的版本,发现已经没有了makefile文件夹:

2015-10-10

获取make编译系统的Firmware版本

方式一

Tag

  这些版本都是用make编译系统。想要下载哪个就点击进去:

V1.01

  需要注意的是,下载当前版本要下载.zip(如果下载下来后,编译过程中出现了fatal: Not a git repository (or any of the parent directories)问题,请见这篇文章:http://blog.csdn.net/freeape/article/details/47858527):
zip

方式二(推荐)

  通过git版本控制来切换分支得到想要的版本。
  在git中,tag就是一个只读的branch,一般为每一个可发布的里程碑版本打一个tag。如在方式一中的tag,v1.0.1、v1.0.0rc12、v1.0.0rc11等。比如想要得到v1.0.1这个分支的代码,可以这样做:

  • 先将master分支clone到本地
  • 在本地的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到本地的)

  1. git submodule init
  2. git submodule update --recursive
    1. 如果这一步失败了,则make distclean或者git clean -dfx(注意:这将会删除没有在Git版本控制下的所有文件)
    2. 重新来遍
  3. make px4fmu-v2_default