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 编辑
这板子是给做手机的实验用的,只要 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
说得也有道理, 为何不用另外一个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 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
最低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
没搜到......>>>
作者: 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 |