需要下载Ubuntu16.04 搭建APM 编译环境源码包的同学可从这里下载,源码中的.sh文件已做修改,包括APM源码和gcc软件包: https://download.csdn.net/download/jlqiu2015/84515042
APM 版本4.0.7 参考:官网:https://ardupilot.org/dev/docs/building-setup-linux.html#building-setup-linux 帖子: https://blog.csdn.net/weixin_44622814/article/details/90021469 http://www.nufeichuiyun.com/?p=237 https://www.pythonheidong.com/blog/article/1317103/c4da7928551cf3c7c78e/ 步骤:
- 安装ubuntu16.04, 软件源选择aliyun
- 加入组,然后注销再登入
sudo usermod -a -G dialout $USER - 安装git
先在终端依次输入 sudo apt-get update sudo apt-get install git sudo apt-get install gitk git-gui - 在home 根目录下克隆源码
git clone https://github.com/your-github-userid/ardupilot - 切换到分支,这里以copter4.0.7 为例
cd ardupilot git checkout Copter-4.0.7 - 克隆关联组件,反复执行此命令,直到下载完成为止
git submodule update --init –recursive - 源码下载完成之后,建议备份,如压缩文件打包,避免后续修改源码乱套之后可以复原
- 在ardupilot 文件夹下配置编译环境, 由于官方指导文件中,在配置文件install-prereqs-ubuntu.sh中默认安装gcc-arm-none-eabi-6-2017-q2,先将此.sh文件中的gcc-arm-none-eabi-6-2017-q2修改为gcc-arm-none-eabi-4_9-2015q3,并手动安装gcc-arm-none-eabi-4_9-2015q3,将其放在/opt文件夹下,下载gcc-arm-none-eabi-4-9-2015q3连接如下:
https://download.csdn.net/download/jlqiu2015/84518300
然后执行以下命令: Tools/environment_install/install-prereqs-ubuntu.sh -y
-
执行以上命令过程中会自动安装各种软件,但关于python 的软件会有缺失,ubuntu16 自带 python2.7 软件,需安装python3 以上软件, sudo apt-get install python3 用以下命令查看python 和python3 地址 which python //返回/usr/bin/python which python3 //返回/usr/bin/python3 接下来我们写一个配置文件 gedit ~/.bash_profile 往里写入以下语句并保存 PATH="/usr/bin:${PATH}" export PATH alias python="/usr/bin/python3" 添加环境变量 source ~/.bash_profile 安装pip Sudo apt-get install python3-pip 然后更新pip包 python -m pip install --upgrade pip 然后通过pip安装缺少的包,如future, empy pip install future empy -
再次执行第再次执行第8步骤,直至没有报错步骤,直至没有报错为止为止 -
加入环境变量,然后登出登入加入环境变量,然后登出登入 . ~/.profile -
如果第8步执行了.sh文件中的gcc文件修改和手动安装gcc,则不需要执行这一步。 查看查看computer/opt里是不是里是不是2015的的,有的问题会出现不是 2015 的 有的是 2017 的,这时候就需要将 2017 的删掉,然后再将2015的加进去, 这就涉及到另一个问题:在根目录下(computer )不能直接改掉,可以先将 2017 的转移出去,用 mv 移出去,然后将 2015 的这个放入 home 里,用 mv 再移进去,可以了,用下面的这个命令: sudo mv ./gcc-arm-none-eabi-4_9-2015q3 /opt 注: 下载 gcc-arm-none-eabi-4_9-2015q3.ta.bz2 压缩包,需要先在 home下解压,命令如下: tar -xjvf gcc-arm-none-eabi-4-9-2015q3.ta.bz2 -
如果第8步执行了.sh文件中的gcc文件修改和手动安装gcc,则不需要执行这一步。 添加bashrc环境,(这步就是比较关键的一步) 分别在两个中断输入gedit /.profile和gedit /.bashrc 将gedit ~/.profile下的倒数第二行export PATH=/opt/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH复制到gedit~/.bashrc的最后一行,然后将它们都保存,关闭 下载gcc-arm-none-eabi-4-9-2015q3连接如下: https://download.csdn.net/download/jlqiu2015/84518300 -
编译 一. 先配置飞控类型 // 查看所有支持的飞控类型,返回很多板子,选择自己的飞控板,比如Pixhawk ./waf list_boards // 将编译目标设置为Pixhawk1版飞控,对应Pixhawk硬件 ./waf configure --board Pixhawk1 # Pixhawk1 二. 编译固件 ./waf copter -
编译文件位置 编译好的文件保存在ardupilot/build/Pixhawk1/bin文件夹下,ardupilot.apj -
下载gcc-arm-none-eabi-4-9-2015q3连接如下: https://download.csdn.net/download/jlqiu2015/84518300
|