Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71416
  • 博文数量: 16
  • 博客积分: 1465
  • 博客等级: 上尉
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 09:32
文章分类

全部博文(16)

文章存档

2012年(1)

2011年(1)

2010年(14)

我的朋友

分类: LINUX

2010-01-21 10:07:12

PC系统:Fedora 11
目标板:AT91SAM9260EK
    首先,到atmel官方网站atmel.com去下载相关源码。因为我是要在Linux系统上搭建arm交叉编译环境,因此需要下载所需源码,顺便将所需代码全部下载下来。
    进入网站,下载交叉编译工具链:
    arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
    下载AT91的Boottrap包:
    AT91Bootstrap1.15.zip
    下载u-boot和补丁包:
    u-boot-1.3.4.tar.bz2
    u-boot-1.3.4-exp.3.diff
    下载linux内核及补丁包:
    linux-2.6.30.tar.bz2
    2.6.30-at91-exp.tar.gz
    2.6.30-at91.patch.gz
    剩下就是文件系统了,后面会继续描述。
    有了上面的源码,我们就可以搭建交叉编译环境了。我是在/usr/local/下面创建的toolchain文件夹,并将交叉编译环境的源码放在此文件夹中的src文件夹中。
    [root@localhost local]# mkdir toolchain
    [root@localhost local]# cd toolchain/src/
    [root@localhost src]# ls
    arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2  arm-linux-cross-2.95.3.tar.bz2
    [root@localhost src]# tar xvf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C ../
    上面一条的命令是将交叉编译链解压到上一层目录。
    [root@localhost toolchain]# ls
    arm-2007q1  src
    这个arm-2007q1就是交叉编译链的文件夹。下面声明环境变量,否则每次启动机器都要声明环境变量。
    [root@localhost toolchain]# vim /etc/bashrc
    在该文件最后一行加入如下一行信息:
    export PATH=:$PATH:/usr/local/toolchain/arm-2007q1/bin
    保存退出。
    在命令行下输入如下信息,如:
    [root@localhost local]# source /etc/bashrc
    这样可以让环境变量立即生效,上一步不执行也行,不过要重新启动机器的哦。^_^
    此时查看交叉编译环境是否搭建成功,如下:
    [root@localhost local]# arm-none-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/paul/arm/src/gcc-4.2/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-shared --enable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --prefix=/opt/codesourcery --enable-languages=c,c++ --enable-symvers=gnu--enable-__cxa_atexit --with-versuffix=CodeSourcery Sourcery G++ Lite 2007q1-10 --with-pkgversion=CodeSourcery Sourcery G++ Lite 2007q1-10 --with-bugurl= --disable-nls --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/paul/arm/install/arm-none-linux-gnueabi/libc --enable-poison-system-directories --with-build-time-tools=/scratch/paul/arm/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/paul/arm/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)
    若出现如下信息,恭喜你,交叉编译环境搭建完成!o(∩_∩)o...哈哈
    在下面的嵌入式开发中,大部分的编译都要用到该编译链。不过,有些要用2.95.3的交叉编译链,如boa、net-snmp等,至少我用当前的编译器编译是不能通过或者存在其他问题。
    下面显示一下部分文件的路径:
    [root@localhost toolchain]# pwd
    /usr/local/toolchain
    [root@localhost src]# pwd
    /usr/local/toolchain/src
    [root@localhost arm-2007q1]# pwd
    /usr/local/toolchain/arm-2007q1
    好了,今天就搞到这里,后面还有AT91Bootstrap的移植。
阅读(2794) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~