实现MIPS处理器的交叉编译器笔记

http://developer.mips.com/tools/compilers/这个网站提供了两个MIPS处理器的编译器:LLVM和Path64,笔者使用的是LLVM。

对于LLVM,网站上提供了两个版本。一个是prebuild的,一个是源代码。笔者实验过发现,前一个版本的程序应该是本机编译器,也就是直接运行在MIPS处理器上的,在x86架构下运行不了。所以为了要构造交叉编译器,需要自己编译源代码。以下是笔者只是介绍编译的过程,其中的名词以后有时间再介绍吧。建议参照官方的指导,以免我打字打错了,呵呵了。

环境:pc一台(x86),ubuntu12.04lts

1.安装必要的支持包。不同的Linux版本需要的包可能不一样,在安装过程中如果出现了错误,很有可能就是缺少了支持包,请自行谷歌。这里推荐一个网站http://stackoverflow.com/,很多问题可以在这里找到答案。我安装的包有:m4, gawk, libncurses5-dev, zlib1g-dev, libglib2.0-dev, g++,flex, bison, gcc-multilib, g++-multilib.

sudo apt-get install m4 gwak libncurses5-dev zlib1g-dev libglib2.0-dev g++ flex bison gcc-multilib g++-multilib

2.下载LLVM。地址是http://wpc.1982.edgecastcdn.net/001982/gnu_tools/Mips_linux_toolchain_clang.tar.bz2。这个包里已经包含了toolchain。

3.在主文件夹下新建一个llvm文件夹。这就是llvm的安装文件夹。

4.解压:

tar vfxj Mips_linux_toolchain_clang.tar.bz2

cd到解压的文件夹。


5.修改文件build-mips-clang.sh的第455行。我在编译的时候这个脚本有点问题,在某一步的时候cd会出错。把第455行的地址在为~/mips_linux_toolchain_clang_src/ble/gcc-4.4.6-final。

6. 按照官方的介绍。可以一次buildall。但是我在编译的过程中发现,buildall的话很容易出错,出错了还不知道在哪一步,一旦出错就得全部重新来。所以建议按照一下的步骤一步一步的来。

./build-mips-linux-gnu.sh --prefix=~/llvm unpack
./build-mips-linux-gnu.sh --prefix=~/llvm buildgmp
./build-mips-linux-gnu.sh --prefix=~/llvm buildmpfr
./build-mips-linux-gnu.sh --prefix=~/llvm buildmpc
./build-mips-linux-gnu.sh --prefix=~/llvm buildbinutils
./build-mips-linux-gnu.sh --prefix=~/llvm buildgcc1
./build-mips-linux-gnu.sh --prefix=~/llvm installheaders
./build-mips-linux-gnu.sh --prefix=~/llvm buildeglibc1
./build-mips-linux-gnu.sh --prefix=~/llvm buildgcc2
./build-mips-linux-gnu.sh --prefix=~/llvm buildeglibc2
./build-mips-linux-gnu.sh --prefix=~/llvm buildgcc3
./build-mips-linux-gnu.sh --prefix=~/llvm buildlibgcc
./build-mips-linux-gnu.sh --prefix=~/llvm buildexpat
./build-mips-linux-gnu.sh --prefix=~/llvm buildgdb
./build-mips-linux-gnu.sh --prefix=~/llvm buildqemu
./build-mips-linux-gnu.sh --prefix=~/llvm check


 

./build-mips-clang.sh --prefix=~/llvm unpack
./build-mips-clang.sh --prefix=~/llvm buildclang


为了check成功,还需要导入四个环境变量。这个好像只有ubuntu12.04需要。

export LIBRARY_PATH=/usr/lib/i386-linux-gnu/
export C_INCLUDE_PATH=/usr/include/i386-linux-gnu
export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu
export PATH=~/llvm/bin:$PATH

最后check一下

./build-mips-clang.sh --prefix=~/llvm check


完工了。如果哪一步出错,重新运行那一步就行了。

顺便提一下,编译时间很长,我在虚拟机上跑了8个小时,实体机上跑了4个小时,buildeglib2那一步要很长时间,耐心等待哦。

mips gcc4.9.3交叉编译是针对MIPS架构的一款交叉编译,它能够在主机系统上生成适用于MIPS处理器的可执行文件。在进行MIPS架构的开发或者嵌入式系统的移植时,使用交叉编译可以方便地在主机系统上进行开发和调试。 要下载mips gcc4.9.3交叉编译,首先需要在互联网上搜索到可靠的下载资源。可以直接在GCC官方网站上找到对应版本的交叉编译下载链接。点击链接下载后,会得到一个压缩文件,需要解压缩以获得可执行文件和相关的依赖库。 安装完成后,可以将交叉编译添加至环境变量中,这样就可以在命令行中随时调用该编译器来进行交叉编译工作。根据具体的开发需求,使用合适的命令和参数来编译源代码,生成适用于MIPS架构的可执行文件。 在下载和使用交叉编译时,需要注意以下几点: 1. 确保下载的版本和架构与目标设备的要求相符,避免下载错误的版本导致编译错误。 2. 在使用交叉编译时,应了解相关的编译参数和选项,以便根据需要进行配置和设置。 3. 交叉编译过程中可能会遇到一些依赖库或者工具链的问题,需要根据实际情况安装和配置相应的依赖。 4. 使用交叉编译的过程中,可以通过查阅相关的文档和教程来了解更多细节和技巧,以提高编译的效率和质量。 总之,下载和使用mips gcc4.9.3交叉编译是进行MIPS架构开发的关键步骤之一。通过正确的下载和配置,我们可以方便地在主机系统上进行MIPS架构的开发和测试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值