下载和使用ARM交叉编译工具链的一般问题解决

一、交叉编译工具链的获取

1.1.在ftp.gnu.org获取gcc工具链的相关源码,自己编译一个交叉编译工具链

1.2.使用crosstool-ng工具进行配置(crosstool-ng采用了menuconfig配置方式)

1.3.在开源的交叉工具链站点下载对应版本的交叉编译工具链,在解压配置后即可使用


二、交叉编译工具链的常用获取站点

2.1.gnu网站

https://www.gnu.org/software/
gcc工具:https://gcc.gnu.org/
gdb工具:https://www.gnu.org/software/gdb/
glibc:https://www.gnu.org/software/libc/
Binutils工具:https://www.gnu.org/software/binutils/


2.2crosstool-ng工具

2.2.1.在官网http://crosstool-ng.org/下载crosstool-ng的源码并编译安装

2.2.2运行ct-ng menuconfig,出现配置菜单,在里面可以选择目标即对应的处理器型号,以及支持的内核版本号等。

2.3.第三方编译好的交叉编译工具链

http://www.linaro.org/downloads/
http://releases.linaro.org/components/toolchain/binaries/


https://www.mentor.com/
https://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/

http://www.veryarm.com/arm-none-linux-gnueabi-gcc


三、解压版(安装环境Ubuntu)的安装

3.1下载解压版

下载站点:http://www.veryarm.com/arm-none-linux-gnueabi-gcc

3.2在bash中输入一些命令

3.2.1创建文件夹

mkdir /usr/local/arm

3.2.2解压下载好的文件到创建的目录

sudo tar -xvf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /usr/local/arm/

3.2.3创建工具的软链接

(1)进入工具的目录

cd /usr/local/arm/arm-2014.05/bin

(2)创建常用的工具的软链接

ln -s arm-none-linux-gnueabi-gcc arm-linux-gcc
ln -s arm-none-linux-gnueabi-g++ arm-linux-g++
ln -s arm-none-linux-gnueabi-gdb arm-linux-gdb
ln -s arm-none-linux-gnueabi-ld arm-linux-ld
ln -s arm-none-linux-gnueabi-objcopy arm-linux-objcopy
ln -s arm-none-linux-gnueabi-objdump arm-linux-objdump
ln -s arm-none-linux-gnueabi-readelf 


3.2.4.配置使用环境

使用用户的bash环境配置,在用户主目录下的.bashrc后添加

export PATH=$PATH:/usr/local/arm/arm-2014.05/bin

3.2.5.重启bash终端或者重新加载配置文件

source .bashrc

3.2.6.测试是否已配置好

arm-linux-gcc –v


对于x64位机:

第一次配置使用时,arm-linux-gcc –v将出现提示无法找到对应文件或目录;

这是因为缺少了一些需要支持的32位的库;

sudo apt-get install ia32-libs

之后会出现如下面之类的一些提示

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
lib32z1 lib32ncurses5 lib32bz2-1.0
E: Package 'ia32-libs' has no installation candidate

根据以上提示,依次执行:
sudo apt-get install ia32z1
sudo apt-get install lib32ncurses5
sudo apt-get install lib32bz2-1.0

备注:如有库要替换的请详细查看和谨慎处理,或有可能造成一些工具无法使用


--此博文若有问题,欢迎大家指出,请不吝赐教^_^


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值