本帖最后由 payne_pan 于 -11-10 19:07 编辑
看了帖子树莓派2手工打造Linux APM飞控/bbs/forum.ph ... 54297&extra=&page=1很受益
编译这部份我结合实践详细谈一下
=======原文============
自行编译的话可以在树莓派上
cd ArduCopter
make raspilot
运行程序在树莓派上执行 sudo ./ArduCopter.elf -A 192.168.1.100:14550 (把ip换成自己电脑的ip,在MissionPlanner里选择udp连接方式,端口号14550)
4. 打好rt-patch的系统我还没打包成镜像,打包好后会上传到网盘上。不过树莓派原生系统用来测试也足够了。
===================
3)这部分编译应该使用交叉编译,提高效率(在PC机上编译树梅派运行的文件)
下面先说下4)这部分
要求:安装了UbuntuLinux的连网PC机
步骤如下:
1) 下载 kernel 的 source
$ git clone --depth=1 /raspberrypi/linux
如何知道kernel 的当前版本,两个方法
a) makekernelversion
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文件
如何你不满意可以用makeARCH=armmenuconfig 继续改
3) 安装toolchain
git clone /raspberrypi/tools
把工具路径设置到$PATH
export PATH=$PATH:~/rapi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
4) 开始编译( 应该略过,打了rtpatch 再编译)
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
5)打rt 补丁(把rapi 改为实时控制系统)
我的步骤:
a) 看 kernel 版本 (4.1.12)
$ head Makefile -n 4
VERSION = 4
PATCHLEVEL = 1
SUBLEVEL = 12
EXTRAVERSION =
解开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
1) 而后交叉笔记 raspilot 就简单了cd ArduCopter
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-raspilot
(make raspilot 用起来也没有问题)
而后把ArduCopter.elf, 拷贝到树莓派上运行。
ArduPlane 与此类似
树莓派 交叉编译 php apm 树莓派的交叉编译方法 - 穿越机综合技术讨论区- 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型 创始于)...