如何使用VS2013编译apm_planner源代码? 5C

如何使用VS2013编译apm_planner源代码?,使用qt5.5.1,vs2013,c++编译器编译
两个月之前,网上很多资料,不知道现在怎么了,没有资料了,真愁人,
好像在cmd下,用qmake,就能生成vs2013的项目文件,关键是我命令参数忘记了

5个回答

首先我们要获取APM的源码
获取ArduCopter-3.2.1版本的源码有2种方式:
I. 在github页面点击release,往下翻几页,找到“ArduCopter-3.2.1-apm-px4”下载即可。
II. 喜欢git的朋友在克隆最新代码后,也可以回退到3.2.1的版本,与第一种方法获得的源码无异。

git clone https://github.com/ArduPilot/ardupilot.git
注意不要直接这样,这样得到的是最新的代码,最新的代码不是pde格式的,是.cpp格式的,因为最新的代码是不支持APM的板子的,所以不能使用

如果不熟悉git的话就在这个网页直接去下载:
https://github.com/ArduPilot/ardupilot/tree/ArduCopter-3.2.1
这里也有我传的CSDN的链接:
http://download.csdn.net/detail/gyh_420/9921364

这里写图片描述

得到文件目录如下
这里写图片描述

接下里要准备VS的插件和Arduino的编译器
1、ArduPilot-Arduino-1.0.3-gcc-4.7.2-windows(为ArdupPilot定制的Arduino IDE)。在这里下载https://pan.baidu.com/s/1eS4wHSe
2、Visual Studio配合Visual Micro插件(Arduino for Visual Studio插件)。二者本质没有区别,可以看到都是调用gcc工具链,Visual Studio只是通过Visual Micro在上层封装了操作接口,便于程序员查看和编写代码。以VS2013为例,点击“工具->扩展和更新->联机”,搜索“Visual Micro”,下载安装即可。

这里写图片描述

安装完成后,界面如下图
这里写图片描述

装好之后还要下载一个APM硬件信息
http://download.csdn.net/detail/u010682510/9671800
将该apm文件夹放入ArduPilot-Arduino-1.0.3-windows\hardware(这个就是之前让你下载的Ardunio的编译器的文件夹里的hardware文件夹)中。
这里写图片描述

这里写图片描述

配置完成之后,可在“Installed”选项卡中查看支持的硬件类型,如所需的“Arduino Mega 2560 HAL (Apm 2)”,插上APM后在COM口选择对应的串口号。此外,在“Examles”选项卡中可查看Arduino和ArduCopter的例程。

最后在左上角那里选择Configuration Manager ,设置Ardunio编译器的路径,就是你下载的为ArdupPilot定制的Arduino IDE的路径

这里写图片描述

到这里前期的准备工作就做好了,接下来就是用VS来建立APM的工程了
这是前面说的从GIT上下载下来的代码,速度好慢。
这里写图片描述

打开VS2013,左上角文件->打开->Ardunio Project,索引我们下载的代码文件夹下,打开如图所示的ArduCopter.pde文件
这里写图片描述
稍等一会,VS会帮助我们建立好整个工程,注意一定不要自己去新建工程,我就在这里浪费了几个小时,直接点pde文件就OK,新版本好像是ino吧,按照博客前面下的代码是pde文件,然后点编译即可。

可能有的人会遇到一些编译错误,可以尝试把库的路径包含进去。
这里写图片描述

最后编译好的结果如图
这里写图片描述
这个字节比248K要大,(APM有8KB的引导区),这个HEX如果直接下载到APM里面会死机的,所以要裁剪下,裁剪的方法很简单,就是把不要的一些模式部分删掉就可以了,然后再添加自己的代码,不会的可以看看这个博客http://blog.csdn.net/u010682510/article/details/53121462
其实这里也是蛮奇怪的,如果说这个HEX不能通过地面站下载到APM板子上,那官网的程序难道不是这个代码编译的么,如果是,那又是怎么烧进去的呢?我猜测这个HEX是包含了引导代码的,但是官网发布的固件是分开了的,但是我不知道怎么分开两个部分,有知道的兄弟请告知我。

如果还是有问题的话,这里有我搭好的工程的链接:
http://download.csdn.net/detail/gyh_420/9921396
象征性地收了点积分,毕竟折腾了一天多的时间搞这个东西。

本来之前是搭好了这个环境的,可是前段时间硬盘空间不够删了一些东西,把Arduino的编译器卸载了囧。现在重新走一遍流程,主要的内容是参考的这篇博文http://blog.csdn.net/u010682510/article/details/53019637
里面写的很详细,也有搭好的工程可以用。他很多地方讲的不够详细,这里对他的教程做个补充说明。结合着看,是肯定可以搭好工程的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!