分类: LINUX
2008-03-14 20:10:53
因为在网上下载的gcc3.4.1编译uboot1.2的时候出现错误,所以决定在自己的PC环境编译一个交叉编译环境。
目标板(Nano2410)------------------------
CPU: S
SDRAM: HY57V561620(32MB)
FLASH: K
NET: CS8900
HOST---------------------------------------
Linux Realse Version: Fecora Cor 8 (FC8)
Compiler: gcc-
1.从 下载最新的crosstool0.43。
2.解压crosstool0.43到/opt下。在/opt会有一个目录crosstool0.43
3.将crosstool0.43更名为crosstool
mv crosstool0.43 crosstool
4. 修改crosstool所属用户为当前非root用户。
|
5.建立下载文件夹。crosstool在安装期间会从网络下载相关文件到该目录。
|
6.在crosstool中我们将要使用的可执行文件是demo-arm9tdmi.sh.内容如下
|
最后一行是我自己添加的。看看gcc-4.1.1-glibc-2.3.2.dat文件内容
|
因为我要用此编译器编译linux-2.6.24内核,所以把LINUX_DIR指定的内核改为inux-2.6.24
从以上信息可以看出我们将要使用如下编译工具:
binutils-2.16.1 下载地址:
gdb-6.5
下载地址:
gcc-3.3.6
下载地址:
glibc-2.3.2
下载地址:
linux-2.6.24
下载地址:
linux-libc-headers-2.6.12.0 下载地址:
在编译的过程中会自动从网络下载以上文件到~/downloads文件夹。速度实在是无法忍受,建议在在windows里面用迅雷或其他下载工具把以上文件全部下载下来,然后copy到downloads文件夹中。安装的时候发现文件存在就不会再从网络下载了,这样可以大大缩短编译时间。
7.编译生成的gcc默认文件名为arm-9tdmi-linux-gun-gcc.bin. 如果不想用改名称,比如我想用arm-linux-gcc.bin,可以修改文件arm9tdmi.dat第二行。
8.以上准备工作后,就可以开始编译了,这个过程比较长,在我的电脑上用了好几个小时:) ./demo-arm9tdmi.sh
9.编译生成的文件位于crosstool/gcc-4.1.1-glibc-2.3.2.
zuoan9112009-05-12 20:20:26
找到办法了,呵呵。 直接用迅雷下载,不用登陆网站,地址如下: 【crosstool-0.43.tar.gz】 http://kegel.com/crosstool/crosstool-0.43.tar.gz 【binutils-2.16.1.tar.bz2】 http://ftp.gnu.org/gnu/binutils/binutils-2.16.1.tar.bz2 【glibc-2.3.2.tar.bz2】http://ftp.gnu.org/gnu/glibc/glibc-2.3.2.tar.bz2 【glibc-linuxthreads-2.3.2.tar.bz2】http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.2.tar.bz2 【linux-2.6.24.tar.bz2】http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 【gdb-6.5.tar.bz2】http://ftp.gnu.org/gnu/gdb/gdb-6.5.
zyb198312122008-06-11 16:14:47
我参照您的说明完成了所有步骤,但是在编译时没有成功。 我在编译过程中发现gcc-4.1.1-glibc-2.3.2.dat文件内容应该做一些修改: 应该将GCC_DIR=gcc-4.1.1修改为GCC_DIR=gcc-3.3.6,否则编译时会找不到gcc-4.1.1.tar.bz2. 编译并没执行到“done“的打印,生成的应用程序有as/ld/objdump/objcopy等,但是没有gcc。 请问如何解决这个问题?谢谢!