使用VSCode打造APM飞控的编译+烧录+调试一体的终极开发环境

这篇博客介绍了如何在Ubuntu环境下,使用VSCode搭建一个集编译、烧录和调试于一体的APM飞控开发环境。通过安装必备软件、配置插件、下载并编译APM代码、适配第三方飞控板以及设置OpenOCD,实现了类似于Keil的开发体验。此外,还详细讲解了一键编译调试功能的设置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日期: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++。

VSCode

随着时代的发展,Keil之类的IDE,虽然上手简单,但是其编辑器功能已经远远落后与时代,还有着收费、不开源、不支持跨平台等各种问题。而VSCode正好弥补了这些缺点,并有着无比强大的编辑器功能与丰富插件支持。结合插件,我们可以将VSCode打造成一个有史以来最强大的飞控开发IDE,有着比拟Keil的硬件Debug功能,还有秒杀Keil几条大街的编辑器,那么我们还有什么理由不投入VSCode的怀抱呢?

邂逅VSCode

1.安装

在ubuntu上安装VSCode的方法有很多种,可自行百度。比较简单的一种方式是访问官网,直接下载deb包到本地,双击安装。
下载VSCode

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 --init --recursive

2.安装工具链及python包

项目提供了环境部署脚本,可以直接安装所有所需工具和包

Tool
本设计分享的是ArduPilotMega(APM) 无人机APM-V2.5全部资料,APM系统是国外的一个开源系统,是市面上最强大的基于惯性导航的开源自驾仪。附件内容提供APM-V2.5全部设计资料,包括硬件、固件源码和中文硬件与软件的快速入门指南。ArduPilotMega APM-2.5实物截图: APM-V2.5电路 PCB截图: ArduPilotMegaAPM特性包括: 免费开源固件,支持机("ArduPlane"),多旋翼 (四旋翼, 六旋翼, 八旋翼等), 直升机("ArduCopter")和地面车辆("ArduRover")! 通过点击式的工具简单设置和上传固件。无须编程!(但是你想搞搞代码的话,可以使用简单的嵌入式编程工具: Arduino) 通过点击式的桌面程序完全的规划任务脚本 可以支持上百个三维航点 使用强大的 MAVLink 协议,支持双向遥测和行中制命令T 多种免费地面站,包括 HK GCS, 支持任务规划,空中参数调整,视频显示,语音合成和完整的带回放的数据记录 跨平台。支持Windows, Mac 和 Linux。在 Windows 下使用图形任务规划设置工具 (Mac 下可用模拟器) 或在任何操作系统下使用命令行界面。三种操作系统上都有可用的地面站程序。基于 Arduino 编程环境,也是完全跨系统的。 自动起,降落和特殊的动作命令,例如视频和照相制 完整支持 Xplane 和 Flight Gear 半硬件仿真 包括继电器,可以触发任何设备,可以根据任务脚本
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值