如何制作支持softfloat的ARM交叉编译器

如何制作支持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交叉编译器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值