最近买了一个树莓派,玩了几天,虽然已经有很多人玩了,现在玩好像有点晚了,但是他确实是个好东西,学好它,对嵌入式的整个开发流程也就会熟悉很多.虽然性能不是很强和现在的BB-BLACK比有点慢了,但是它便宜,把它当做单片机也是个不错的选择.
树莓派其实也是一个小的嵌入式产品,其实和我的TINY210一样,只不过他是基于ARM11架构,自然是ARMV6体系.构建交叉编译环境也就相对简单.
环境:ubuntu 13.10
个人原创,转载请注明原文地址:
http://blog.csdn.net/embbnux/article/details/17360315
参考:
http://elinux.org/RPi_Kernel_Compilation#Use_the_provided_compiler
http://shumeipai.nxez.com/2013/10/08/configure-cross-compiler-platform-raspberry-pi.html
一 获得ARM GCC 交叉编译器
cd work/raspberry git clone git://github.com/raspberrypi/tools.git这里官网下载可能比较慢,可以到我的资源下载 为 bcm2708hardfp编译器,和官方一样的
http://download.csdn.net/detail/canyue102/6725615
安装该编译器,把编译器路径加入到环境变量中:
gedit ~/.bashrc
在最后一行添加:
export PATH=$PATH:/your_dir/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/在终端执行:
export CFLAGS="-O2 -pipe -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -w"
注销后终端查看
arm-bcm2708hardfp-linux-gcc -v/***********************************************************
ubuntu 下也可以简单的用APT-GET 安装
apt-get install gcc-arm-linux-gnueabi make ncurses-dev
*******************************************************************/
然后就安装好交叉编译器了.
二 获取树莓派官方内核
树莓派官方提供了移植好的内核源代码,也提供了移植的方法,可以自己从LINUX内核一步步移植,这以后深入学的时候再来看.
首先下载内核
git fetch git://github.com/raspberrypi/linux.git rpi-3.6.y:refs/remotes/origin/rpi-3.6.y进入内核目录:
编辑根目录下的Makefile文件,找到下面相似语句,修改为下面:
ARCH ?= arm CROSS_COMPILE ?= arm-bcm2708hardfp-linux-
这样以后编译内核的时候就不用在指定交叉编译环境和平台的,只需简单的make
然后就是内核配置了,配置命令和电脑上编译内核一样:
make menuconfig
进入配置界面选择需要编译的模块,其实就是更新.config文件,这里为了简便我们直接从树莓派中获取该文件.
首先ssh 进入已经运行的树莓派
zcat /proc/config.gz > .config
将树莓派上得到的.config复制到电脑上的内核根目录,覆盖掉原来的.config
然后在make menuconfig ,就会预选了原来官方配置好的一些内核选项.
然后只需要make就开始编译内核了,时间会有点长,先睡一觉,只有的内核安装等编译好内核在写....................