- 论坛徽章:
- 0
|
前段时间因为考试很久没有写文章了,今天参考《嵌入式系统接口设计与Linux驱动程序开发》这本书成功建立了一个交叉编译环境,所以把我的编译过程和方法写下来贡大家参考。
在建立交叉编译环境之前我们必须先准备好crosstool-0.43交叉编译链建立脚本(crosstool工具包可以到
http://kegel.com/crosstool/
下载)还有下载好(binutils-2.16.1.tar.bz2, glibc-linuxthreads-2.3.2.tar.bz2,gcc-3.3.6.tar.bz2,linux-2.6.22.2.tar.bz2,gcc-4.1.0.tar.bz2 , linux-libc-headers-2.6.12.0.tar.bz2,gcc-4.1.1.tar.bz2 ,gdb-6.5.tar.bz2 ,glibc-2.3.2.tar.bz2)这些工具然后用mkdir /home/work/crosstool建立一个文件夹来存放生成的工具链,文件夹必须是所有用户都有读写权利。再用同样的方法在work/建立一个source/目录用来放置source上面下载好的放在该目录。同样该目录对所有用户都必须有读写权利。然后解压 crosstool-0.43.tar.gz进入crosstool-0.43/里面修改demo-arm9tdmi.sh修改如下#!/bin/sh
# This script has one line for each known working toolchain
# for this architecture. Uncomment the one you want.
# Generated by generate-demo.pl from buildlogs/all.dats.txt
set -ex
TARBALLS_DIR=/home/work/source #定义工具链源代码下载目录
RESULT_TOP=/home/work/crosstool #定义工具链安装目录
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES
# Really, you should do the mkdir before running this,
# and chown /opt/crosstool to yourself so you don't need to run as root.
mkdir -p $RESULT_TOP
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/70349/showart_1074821.html |
|