在开发一个项目或者造*之前,第一步永远是搭建开发环境,而在Linux下搭建Pixhawk时,总是因为各种各样的奇葩错误导致搭建失败,这次趁着硬盘崩了,重新搭建环境并记录下来,如果有错误或者补充可以在评论区提醒我哈~
操作系统:Ubuntu16.04(不建议使用较老版本的Ubuntu系统,后面会提到原因)
一、下载代码(Downloading the conde)
1.1 下载git
Git在所有主要的操作系统平台上均可用,并且有多种工具可帮助你轻松地入门。
Linux/Ubuntu用户可以通过apt下载,在命令行输入: sudo apt-get update
sudo apt-get install git
1.2 Fork该开源项目
首先,你可以注册一个github的帐号,然后打开网址https://github.com/ArduPilot/ardupilot,点击”Fork”按钮即可。
随后,你便会看到在你的用户下有一个新的项目: //github.com/your-github-userid/ardupilot
1.3 Clone这个项目到本地(你的电脑)
可以在每个Github仓库主页上的屏幕右侧找到URL,通常URL是: https://github.com/ArduPilot/ardupilot.git
https://github.com/your-github-account/ardupilot
打开一个终端,并进入你想要存放代码的目录,例如: cd Downloads //进入Downloads文件夹
输入以下指令clone代码: git clone https://github.com/your-github-userid/ardupilot
cd ardupilot
git submodule update --init --recursive
到这里将代码下载到本地的部分就完成了,接下来就是
二、构建代码(Building the code)
2.1设置Ubuntu
运行 install-prereqs-ubuntu.sh 脚本,在终端输入: Tools/scripts/install-prereqs-ubuntu.sh -y
重新加载路径(注销并登录才能生效): . ~/.profile
现在你应该可以用BUILD.md中描述的waf来构建,Ardupilot逐渐从the make-based build system转移到Waf。BUILD.md中的说明应该足以让你构建Ardupilot,但你也可以阅读关于Waf Book中构建系统的更多信息。其实最基础的the make-based build system也可以实现,以ArduCopter为例,进入到ArduCopter目录下, 输入以下命令即可: make px4-v2
make px4-v2-upload
编译下载成功后如下图所示:
看到最后一句,“在1-2s后重新插拔USB接口”,即说明环境配置好了!
但是其实在这之前,还要做很多前期准备工作,所以先不要着急编译,先安装一些编译下文将说到的所需的基本工具。
2.2基本的安装和设置
(1)安装gcc交叉编译器,点击跳转到下载链接,下载后你需要使用以下命令解压压缩包: tar -xjvf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
然后通过编辑$ HOME / .bashrc
文件并在末尾添加下面这一行来将tarball中的bin目录添加到$ PATH中: export PATH=$PATH:/home/your_username/gcc-arm-none-eabi-4_9-2015q3/bin
注意:这里的路径是你解压的gcc-arm-none-eabi-4_9-2015q3-20150921-linux中的bin目录的路径,也就是说上面给出的路径只是作为参考。
(2)安装gnu make,一般Ubuntu系统自带,故不用下载,但是了解以下
make的构建原理也是很好的。
(3)如果你的系统是64位的,你还需要安装libc6-i386,在终端输入: sudo apt-get install libc6-i386
(4)你需要让你的用户成为dialout的成员(您需要注销然后重新登录以使组更改生效),在终端输入: sudo usermod -a -G dialout $USER
(5)代码编辑器可以选择Qt或者Sublime Text3,两者有各自的优缺点,Qt操作简单,但是需要配置交叉编译环境。Sublime Text3无需搭建环境,但是只有长期使用的人才能运用自如。
至此,一次Pixhawk基础的环境搭建就完成了,接下来我们一起探讨飞控代码中的精妙吧!