5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: apm 树莓派的交叉编译方法 [打印本页]

作者: payne_pan    时间: 2015-11-6 14:43
标题: apm 树莓派的交叉编译方法
本帖最后由 payne_pan 于 2015-11-10 19:07 编辑

看了帖子树莓派2手工打造Linux APM飞控 http://bbs.5imx.com/bbs/forum.ph ... 54297&extra=&page=1 很受益
编译这部份我结合实践详细谈一下
=======原文============
3. 飞控源程序我已经上传到GitHub上了https://github.com/raspilot/ardupilot-raspilot
自行编译的话可以在树莓派上
  git clone https://github.com/raspilot/ardupilot-raspilot.git
  cd ArduCopter
  make raspilot
或者可以下载编译好的程序文件,网盘地址:http://pan.baidu.com/s/1jGACRkE
运行程序在树莓派上执行 sudo ./ArduCopter.elf -A 192.168.1.100:14550 (把ip换成自己电脑的ip,在MissionPlanner里选择udp连接方式,端口号14550)

4. 打好rt-patch的系统我还没打包成镜像,打包好后会上传到网盘上。不过树莓派原生系统用来测试也足够了。
===================


3)这部分编译应该使用交叉编译,提高效率(在PC机上编译树梅派运行的文件)
下面先说下4)这部分
要求:安装了Ubuntu Linux的连网PC机


根据官方文档 https://www.raspberrypi.org/docu ... /kernel/building.md

步骤如下:

1) 下载 kernel 的 source


$ git clone --depth=1 https://github.com/raspberrypi/linux

如何知道kernel 的当前版本,两个方法

a) make  kernelversion

b) head Makefile -n 3


2) 配置kernel


RASPBERRY PI 1 (OR COMPUTE MODULE) DEFAULT BUILD CONFIGURATION$ cd linux
$ KERNEL=kernel
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  bcmrpi_defconfig

RASPBERRY PI 2 DEFAULT BUILD CONFIGURATION

$ cd linux
$ KERNEL=kernel7
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  bcm2709_defconfig

这时候,生成.config文件

如何你不满意可以用 make ARCH=arm  menuconfig 继续改


3) 安装toolchain


git clone https://github.com/raspberrypi/tools

把工具路径设置到$PATH

export PATH=$PATH:~/rapi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

4) 开始编译( 应该略过,打了rt patch 再编译)


make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

5)  打 rt 补丁 (把rapi 改为实时控制系统)

官方文档 https://www.raspberrypi.org/docu ... /kernel/patching.md

我的步骤:

a) 看 kernel 版本 (4.1.12)

$ head Makefile -n 4
VERSION = 4
PATCHLEVEL = 1
SUBLEVEL = 12
EXTRAVERSION =


根据kernel版本下载rt补丁(可先在浏览器https://www.kernel.org/pub/linux/kernel/projects/rt/中浏览 )

wget https://www.kernel.org/pub/linux ... .1.10-rt11.patch.gz  


解开gz文件,patch kernel 文件

gunzip patch-4.1.10-rt11.patch.gz

cat patch-4.1.10-rt11.patch  | patch -p1


而后重新编译kernel

make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs


这里省略制作SD (参考:https://www.raspberrypi.org/docu ... /kernel/building.md


1) 而后交叉笔记 raspilot 就简单了

git clone https://github.com/raspilot/ardupilot-raspilot.git
cd ArduCopter
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  raspilot 
(make raspilot 用起来也没有问题)

而后把ArduCopter.elf, 拷贝到树莓派上运行。

ArduPlane 与此类似












作者: Salem    时间: 2015-11-6 19:03
楼主可以试试用ARM JUNO写飞控。

作者: payne_pan    时间: 2015-11-6 23:17
本帖最后由 payne_pan 于 2015-11-6 23:20 编辑
Salem 发表于 2015-11-6 19:03
楼主可以试试用ARM JUNO写飞控。

这板子是给做手机的实验用的,只要 APM 提供对  SPI, I2C sensors的 驱动,相信把APM移植过去也不难。但没有实际意义,杀鸡不用牛刀的。




作者: Salem    时间: 2015-11-7 22:30
payne_pan 发表于 2015-11-6 23:17
这板子是给做手机的实验用的,只要 APM 提供对  SPI, I2C sensors的 驱动,相信把APM移植过去也不难。但 ...

用处大了。无人机的发展趋势是智能化,能感知外界环境并自动反应(比如零度的双目光学定位系统)。以零度的双目系统为例,只不过2路300线的视频信号,ARM A7都只能勉强处理,何况上下左右前后各2路共12路的信号由ARM M7来处理;即使由ARM A7预处理再输入,6路300线信号要完成自动识别、自动跟踪等一系列任务恐怕还是比较困难的。

作者: payne_pan    时间: 2015-11-9 12:47
Salem 发表于 2015-11-7 22:30
用处大了。无人机的发展趋势是智能化,能感知外界环境并自动反应(比如零度的双目光学定位系统)。以零度 ...


说得也有道理, 为何不用另外一个CPU来处理这些事情,而后通过Mavlink和 pixhawk通信 (连根线而已)。




作者: Salem    时间: 2015-11-9 20:24
payne_pan 发表于 2015-11-9 12:47
说得也有道理, 为何不用另外一个CPU来处理这些事情,而后通过Mavlink和 pixhawk通信 (连根线而已) ...

总之只要能正确地满足需求的方法都是好方法。不过如果预处理的处理器比主处理器还高端的话总感觉怪怪的。

作者: payne_pan    时间: 2015-11-9 21:45
Salem 发表于 2015-11-9 20:24
总之只要能正确地满足需求的方法都是好方法。不过如果预处理的处理器比主处理器还高端的话总感觉怪怪的。 ...

图像识别的运算量比姿态计算大很多吧。


作者: Salem    时间: 2015-11-9 22:59
payne_pan 发表于 2015-11-9 21:45
图像识别的运算量比姿态计算大很多吧。

的确。用ARM新出的Mali-T880预处理视频也许不错,但真正完全智能化恐怕还得用A53等高端处理器。

作者: 旧人    时间: 2015-11-9 23:07
自主研发飞行控制系统,APM系统合一体芯片,焊点全人工精致焊接,可远程操控无人驾驶飞行器内部控制系统,可实现精准GPS定位,防爆防燃防炸机,联系微信15269493142,淘宝搜索天地飞一体电路板芯片

作者: 旧人    时间: 2015-11-9 23:10
旧人 发表于 2015-11-9 23:07
自主研发飞行控制系统,APM系统合一体芯片,焊点全人工精致焊接,可远程操控无人驾驶飞行器内部控制系统, ...

最低200.假期从优




作者: Salem    时间: 2015-11-9 23:20
而且存储量要大些,数据库要有针对性,要正确;以免像百度一样把高压电线当作晾衣杆,然后从旁边飞过去。

作者: Salem    时间: 2015-11-10 09:28
旧人 发表于 2015-11-9 23:10
最低200.假期从优

有装Mali-T880/860和A53并开源吗?有的话加我5imx好友细聊;没有的话。。。

作者: szh123    时间: 2015-12-16 20:19
旧人 发表于 2015-11-9 23:10
最低200.假期从优

表示没搜到

作者: 潇齐    时间: 2015-12-25 16:47
旧人 发表于 2015-11-9 23:07
自主研发飞行控制系统,APM系统合一体芯片,焊点全人工精致焊接,可远程操控无人驾驶飞行器内部控制系统, ...

没搜到......>>>


作者: ckfu    时间: 2016-10-6 13:06
楼主您好,你知道为啥“树莓派开源飞控(190604317)”这个群加现在加入不了嘛, 是不是群主太忙了
原帖: http://bbs.5imx.com/forum.php?mod=viewthread&tid=1071625

作者: v223wbd    时间: 2016-10-7 14:12
最近也在玩树莓派

作者: wxd5765    时间: 2021-3-9 11:23
好东西  我几年前也买过这样的树莓派飞控了 估计现在都太老了 自己编译不知道还能用不 就是升级固件有点麻烦 玩的东西太多了




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com./) Powered by Discuz! X3.3