5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 4600|回复: 16
打印 上一主题 下一主题

apm 树莓派的交叉编译方法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-11-6 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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 与此类似











欢迎继续阅读楼主其他信息

沙发
发表于 2015-11-6 19:03 ——“来自手机” | 只看该作者
楼主可以试试用ARM JUNO写飞控。
3
 楼主| 发表于 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移植过去也不难。但没有实际意义,杀鸡不用牛刀的。



4
发表于 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线信号要完成自动识别、自动跟踪等一系列任务恐怕还是比较困难的。
5
 楼主| 发表于 2015-11-9 12:47 | 只看该作者
Salem 发表于 2015-11-7 22:30
用处大了。无人机的发展趋势是智能化,能感知外界环境并自动反应(比如零度的双目光学定位系统)。以零度 ...


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



6
发表于 2015-11-9 20:24 ——“来自手机” | 只看该作者
payne_pan 发表于 2015-11-9 12:47
说得也有道理, 为何不用另外一个CPU来处理这些事情,而后通过Mavlink和 pixhawk通信 (连根线而已) ...

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

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

8
发表于 2015-11-9 22:59 ——“来自手机” | 只看该作者
payne_pan 发表于 2015-11-9 21:45
图像识别的运算量比姿态计算大很多吧。

的确。用ARM新出的Mali-T880预处理视频也许不错,但真正完全智能化恐怕还得用A53等高端处理器。
9
发表于 2015-11-9 23:07 | 只看该作者
自主研发飞行控制系统,APM系统合一体芯片,焊点全人工精致焊接,可远程操控无人驾驶飞行器内部控制系统,可实现精准GPS定位,防爆防燃防炸机,联系微信15269493142,淘宝搜索天地飞一体电路板芯片
10
发表于 2015-11-9 23:10 | 只看该作者
旧人 发表于 2015-11-9 23:07
自主研发飞行控制系统,APM系统合一体芯片,焊点全人工精致焊接,可远程操控无人驾驶飞行器内部控制系统, ...

最低200.假期从优



11
发表于 2015-11-9 23:20 ——“来自手机” | 只看该作者
而且存储量要大些,数据库要有针对性,要正确;以免像百度一样把高压电线当作晾衣杆,然后从旁边飞过去。
12
发表于 2015-11-10 09:28 ——“来自手机” | 只看该作者
旧人 发表于 2015-11-9 23:10
最低200.假期从优

有装Mali-T880/860和A53并开源吗?有的话加我5imx好友细聊;没有的话。。。
13
发表于 2015-12-16 20:19 | 只看该作者
旧人 发表于 2015-11-9 23:10
最低200.假期从优

表示没搜到
来自苹果客户端来自苹果客户端
14
发表于 2015-12-25 16:47 | 只看该作者
旧人 发表于 2015-11-9 23:07
自主研发飞行控制系统,APM系统合一体芯片,焊点全人工精致焊接,可远程操控无人驾驶飞行器内部控制系统, ...

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

15
发表于 2016-10-6 13:06 | 只看该作者
楼主您好,你知道为啥“树莓派开源飞控(190604317)”这个群加现在加入不了嘛, 是不是群主太忙了
原帖: http://bbs.5imx.com/forum.php?mod=viewthread&tid=1071625
16
发表于 2016-10-7 14:12 | 只看该作者
最近也在玩树莓派
17
发表于 2021-3-9 11:23 | 只看该作者
好东西  我几年前也买过这样的树莓派飞控了 估计现在都太老了 自己编译不知道还能用不 就是升级固件有点麻烦 玩的东西太多了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表