日期:2019.05.08
前言
APM(Ardupilot)和PX4是当今世界上最为流行和活跃的两大开源飞控软件项目,它们均在Linux下基于gcc编译工具链开发,对于那些习惯与在Windows下使用Keil MDK开发单片机的童鞋,无疑带来了一定的门槛,除了编译环境搭建较为麻烦之外,还有一个最主要的原因便是难以实现类似Keil上的在线硬件调试(Debug)功能。
而本文的主要目的在于引导读者,在Ubuntu系统下为APM飞控搭建一个类似Keil的编译、烧录和调试一体的开发环境,降低开源飞控的入门和开发门槛。
QQ:562983648
前期准备
硬件
- 飞控板:本教程中必须是基于STM32单片机并支持APM固件的飞控板,如pixhawk,pixhawk2等等,而作者本人则使用的是之前自己制作的一款基于STM32F405的飞控板,因此中间还有一段移植APM固件到第三方飞控板的教程,如果手上已经有官方飞控的童鞋可以直接跳过。
- J-Link OB调试器:烧录和调试必备工具,淘宝上十几元一个,没有的话先准备一个吧。
系统环境
ubuntu 18.04
软件
这里先列出后续会使用到的软件工具版本:
- VSCode : 1.33.1
- OpenOCD : 0.10.0
- Cortex-Debug : 0.2.3
- gcc-arm-none-eabi : 6.3.1
- python : 2.7.15
- ArduCopter : 3.7.0-dev (fd19b257)
为什么使用VSCode
VSCode是微软在2015年发布的一个现代化跨平台开源编辑器,原生支持Git,并拥有着最强大的插件社区,被称之为史上最好用的编辑器。在越来越多各种强大的插件支持下,你可以将VSCode演变成支持绝大多数语言的IDE,当然包括了我们做嵌入式开发常用的C/C++。
随着时代的发展,Keil之类的IDE,虽然上手简单,但是其编辑器功能已经远远落后与时代,还有着收费、不开源、不支持跨平台等各种问题。而VSCode正好弥补了这些缺点,并有着无比强大的编辑器功能与丰富插件支持。结合插件,我们可以将VSCode打造成一个有史以来最强大的飞控开发IDE,有着比拟Keil的硬件Debug功能,还有秒杀Keil几条大街的编辑器,那么我们还有什么理由不投入VSCode的怀抱呢?
邂逅VSCode
1.安装
在ubuntu上安装VSCode的方法有很多种,可自行百度。比较简单的一种方式是访问官网,直接下载deb包到本地,双击安装。
2.插件
丰富的插件是VSCode的灵魂,也是短短两三年内造就了VSCode霸主地位的主要原因之一,不安装插件的VSCode比咸鱼好不了多少。。。
安装插件的方法是点击左侧的”Extensions“图标,或使用快捷键ctrl+shit+x
打开插件搜索栏,输入名称查找插件,并点击install,如下图:
必装插件
- C/C++ :提供C/C++语言的智能推导,函数跳转,调试等功能
- GitLens :Git辅助插件
- Chinese (Simplified) Language Pack :中文界面语言包
- Cortex-Debug :Cortex系列单片机调试工具
推荐安装
- Git History :可视化的形式查看Git提交历史
- Bracket Pair Colorizer :为代码中的括号添加颜色识别,强烈推荐,可提高代码阅读效率
- C++ Intellisense :可作为C/C++插件的一个补充
- ARM :提供ARM汇编语言的高亮识别
- One Dark Pro :比较受欢迎的主题
- vscode-icons :提供各种好看的文件及文件夹图标
- Settings Sync :同步VSCode配置
3.设置界面为中文
喜欢原生英文界面的可跳过这一步。。。
快捷键ctrl+shift+p
打开命令面板,输入language,选择"Configure Display Language",然后点击"zh-cn",软件重启之后便切换至中文界面。
下载并编译APM
1.下载代码
在你的工程目录下打开终端,克隆代码到本地
git clone https://github.com/ArduPilot/ardupilot
进入代码目录
cd ardupilot
更新子模块
git submodule update --in