如何制作支持softfloat的ARM交叉编译器
2009-06-15 14:52
302 查看
如何制作支持softfloat的ARM交叉编译器
S3C2440芯片没有硬件浮点数(hardfloat),很多软件只能采用软件浮点数(softfloat)的编译器编译,恰巧现在高版本的u-boot只能采用支持softfloat的交叉编译器编译,否则会在编译结束前的链接那一步出现不支持softfloat的错误。要解决这个错误的唯一办法就是采用支持softfloat的交叉编译器编译uboot。
下面就介绍如何制作支持softfloat的交叉编译器,文章结束的地方有已经制作好的交叉编译器,供大家下载。
基础篇:
1、到网站http://kegel.com/crosstool/crosstool-0.43.tar.gz下载制作脚本,其中crosstool-0.43是最新的版本,想要使用其他版本请直接修改43两个数字即可。
2、然后下载制作交叉编译器所需要的源码包,下面就是各个源码包的下载站点:
ftp://ftp.gnu.org/pub/gnu/gcc/gcc-3.4.1/gcc-3.4.1.tar.bz2,
ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-2.3.3.tar.gz,
ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.3.3.tar.gz,
ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.15.tar.gz,
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.gz,
3、下载完毕源码包之后,使用root用户登录redhat9,然后新建目录:/opt/crosstool,然后将其所有者修改为您的普通用户(我的redhat9的普通用户是yellow,以下均以yellow为例说明)
4、修改方法:chown yellow /opt/crosstool,或者在图形界面中右击crosstool目录的图标,然后选择“属性”,在属性菜单中选择“权限”,把所有者修改为yellow用户即可。
5、在目录/home/yellow目录下面新建目录downloads,然后复制刚才下载的几个源码包到目录downloads下面,同时也复制crosstool-0.28.tar.gz到downloads目录下。
6、然后切换linux的用户,在终端中输入:su yellow,然后此时终端的用户就变成了yellow了。
7、然后进入到目录/opt/crosstool下面:cd /opt/crosstool,解压之前下载的crosstool-0.28.tar.gz文件:tar xvfz /home/yellow/downloads/crosstool-0.28.tar.gz -C /opt/crosstool。
8、解压完毕后,进入crosstool-0.28目录:cd crosstool-0.28。
9、然后执行:./demo-arm-softfloat.sh就可以开始制作编译器了。
10、可能需要1到2个小时时间,然后会在默认的/opt/crosstool/目录下面产生一个名为arm-softfloat-linux-gnu的目录,它下面就是刚刚编译成功的交叉编译器了。
点击这里下载已经制作好的支持软件浮点数(softfloat)的ARM交叉编译器。
相关文章推荐
- 如何制作支持softfloat的ARM交叉编译器
- iOS 制作自己的FrameWork遇到的一些问题 以及FrameWork通过包合并支持arm64 armv7 i386 架构
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- ubuntu12.04LTS-ARM平台交叉编译器的制作
- 如何制作支持VMWare的Windows CE BSP2
- 使用Crosstool 0.43 在ubuntu0.94上制作arm交叉编译器arm-linux-gcc .
- 如何制作多语言dll支持应用程序多语言版本
- 如何查看arm-linux-gcc某个版本支持的-mcpu,-march可选值
- iOS——制作同时支持armv7,armv7s,arm64,i386,x86的静态库
- linux 制作交叉编译器arm920t
- Visual Studio交叉编译器提供对ARM的支持
- 【技术】【操作】制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- arm-softfloat-linux 工具制作 as ld too old 解决方法(转载)
- Ubuntu9.10制作ARM交叉编译器
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- 如何用Xcode 4.5 编译支持 armv6 CPU及iOS 4.3以前的版本
- 如何制作支持VMWare的Windows CE BSP
- 如何用Xcode 4.5 编译支持 armv6 CPU及iOS 4.3以前的版本
- 嵌入式基础:ARM下GCC交叉编译器的制作