使用VS2013编译开源的飞行控制器APM代码

又要开始做飞机了,本来做无人机确实是有挑战性的一项工程,但是因为本科已经做了一年多的无人机了,对它的原理和控制手段都很熟悉,自己写过飞控,就差加GPS了,不过加GPS这部分确实也更困难,如果要继续做呢可能还要接着做一年多,其实心里已经觉得做的没啥意思了,另外GPS导航的调试在飞机上更困难,条件不允许我这么做,何必再造轮子呢,不如使用开源的系统进行二次开发

首先我们要获取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
里面写的很详细,也有搭好的工程可以用。他很多地方讲的不够详细,这里对他的教程做个补充说明。结合着看,是肯定可以搭好工程的。

转载请注明出处:http://blog.csdn.net/gyh_420/article/details/76652023

  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Cairo是一个用于2D图形绘制的开源库,它可以被用于Microsoft的Visual Studio 2013编译环境中。通过在VS2013中编译Cairo,你可以在Windows平台上使用Cairo的各种功能。 首先,你需要确保你的计算机上已经安装了Visual Studio 2013开发环境。然后,你可以从Cairo的官方网站上下载源代码,或者使用Git从源代码库中克隆源代码。 接下来,你需要创建一个新的项目,在项目中包含Cairo的源代码。打开Visual Studio 2013,点击“文件”菜单,然后选择“新建”->“项目”。在弹出的对话框中选择“Visual C++”->“空项目”,并为项目指定一个名称和位置。 然后,你需要将Cairo的源代码添加到项目中。右键点击项目名称,选择“添加”->“现有项”,然后选择Cairo的源代码文件,点击“添加”按钮将其添加到项目中。 在项目中添加Cairo的源代码后,你需要在项目的属性中设置编译选项。右键点击项目名称,选择“属性”,在弹出的属性对话框中找到“配置属性”->“C/C++”->“常规”->“附加包含目录”,在该字段中添加Cairo的头文件所在的目录。 然后,你需要设置链接选项。在属性对话框中选择“链接器”->“常规”->“附加库目录”,并将Cairo库文件所在的目录添加到该字段中。同时,在“输入”->“附加依赖项”字段中添加Cairo库文件的名称。 最后,你可以编写你的应用程序代码并进行编译。在项目中创建一个源文件,在代码中包含Cairo的头文件,然后使用Cairo库提供的函数和接口进行图形绘制。 通过按下F5键或点击“生成”->“生成解决方案”来编译和运行项目。如果你没有错误和警告信息,说明编译成功。你可以使用Cairo库提供的函数和接口来创建各种图形效果,如直线,矩形,圆形等等。 总之,通过在Visual Studio 2013中编译Cairo,你可以利用Cairo库的强大功能,开发出各种2D图形应用程序,并在Windows平台上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值