您的位置:首页 > 其它

Ubuntu 14.04 arm-2009q3交叉编译工具链的安装及使用

2016-10-30 19:02 537 查看
我的开发板:GEC210。  文章仅作自己学习过程中的记录。

 最近在学习ARM开发板,按照开发板附送的安装交叉编译链教程,原文如下:

将光盘中交叉编译工具的源码 arm-2009q3.tar.bz2 拷贝到/usr/local/arm(没有该

目录就新建一个)目录下,并解压:

#tar jxvf arm-2009q3.tar.bz2

2)修改环境变量:

#vim ~/.bashrc

在文件末添加

export PATH=/usr/local/arm/arm-2009q3/bin:$PATH

编译器安装成功。

#source ~/.bashrc

PS:修改环境变量有三种方法:

添加环境变量

方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)

sudo gedit /etc/bash.bashrc

在最后加上 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin (路径)(注意等号那边不要有空格)

使其生效:./etc/bash.bashrc

方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)

sudo gedit /etc/profile

增加路径设置,在末尾添加如下:

export PATH=$PATH:/usr/local/arm/4.4.3/bin

使其生效:source /etc/profile

方法三:修改/etc/environment文件

sudo gedit /etc/environment

原文件应为

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“

将其改为

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"

按照此教程,设置完毕后理应能正常使用(因为教程没说其他的,萌新以为就此可以正常使用)。结果



查阅得知,可能是因为ia32-libs数据库的问题(我的系统为Ubuntu 14.04)。

于是依样画葫芦,使用如下命令安装32位库:

sudo dpkg --add-architecture i386
sudo apt -get update
sudo apt-get dist-upgrade


或者:

安装新立德软件包管理器:打开终端,输入以下命令:sudo apt-get install synaptic

打开新立德软件包管理器,选择“设置>软件库”

选择“其他软件 > 添加”

在APT行中输入 "deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse"

选择确定退出新立德软件包管理器

在终端输入“sudo apt-get update”

在终端输入“sudo apt-get install ia32-libs”

添加完32位库后,arm-linux-gcc -v 依旧显示未找到命令·····

结果,百度得知,其实arm-2009q3.tar.bz2是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。

SO,查询等所有你所熟悉的交叉编译工具命令都应该换成:

arm-none-linux-gnueabi-

故,arm-linux-gcc -v  应该打成arm-none-linux-gnueabi-gcc -v。

10.31日补充:

查阅得知,其实可以用软连接实现使用arm-linux-gcc指令,方法:

#cd arm-2009q3/bin
#gedit arm-2009q3.sh
编辑内容:

#!/bin/bash
ln -s arm-none-linux-gnueabi-addr2line arm-linux-addr2line
ln -s arm-none-linux-gnueabi-ar arm-linux-ar
ln -s arm-none-linux-gnueabi-as arm-linux-as
ln -s arm-none-linux-gnueabi-c++ arm-linux-c++
ln -s arm-none-linux-gnueabi-c++filt arm-linux-c++filt
ln -s arm-none-linux-gnueabi-cpp arm-linux-cpp
ln -s arm-none-linux-gnueabi-g++ arm-linux-g++
ln -s arm-none-linux-gnueabi-gcc arm-linux-gcc
ln -s arm-none-linux-gnueabi-gcc-4.4.1 arm-linux-gcc-4.4.1
ln -s arm-none-linux-gnueabi-gcov arm-linux-gcov
ln -s arm-none-linux-gnueabi-gdb arm-linux-gdb
ln -s arm-none-linux-gnueabi-gdbtui arm-linux-gdbtui
ln -s arm-none-linux-gnueabi-gprof arm-linux-gprof
ln -s arm-none-linux-gnueabi-ld arm-linux-ld
ln -s arm-none-linux-gnueabi-nm arm-linux-nm
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-ranlib arm-linux-ranlib
ln -s arm-none-linux-gnueabi-readelf arm-linux-readelf
ln -s arm-none-linux-gnueabi-size arm-linux-size
ln -s arm-none-linux-gnueabi-sprite arm-linux-sprite
ln -s arm-none-linux-gnueabi-strings arm-linux-strings
ln -s arm-none-linux-gnueabi-strip arm-linux-strip
保存退出,执行:

source arm-2009q3.sh
<span class="fontstyle0">source ~/.bashrc</span>
即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  嵌入式系统