交叉编译工具arm-none-linux-gnueabi-gcc安装
交叉编译工具arm-none-linux-gnueabi-gcc安装
[编辑]打开终端
进入Ubuntu操作系统,依次选择“Applications(应用)”、“Accessories(附件)”、“Terminal(终端)”。shell终端界面如下图所示。
[编辑]下载arm-none-linux-gnueabi-gcc安装包
在Ubuntu操作系统中,可以使用自带的wget工具下载arm-none-linux-gnueabi-gcc安装包。
wget是一个非交互式的命令行工具,用于从网络上检索文件并自动下载,支持HTTP、HTTPS、FTP三个最常用的TCP/IP协议。
wget命令格式:
wget [OPTION] [URL]
在shell命令行下,输入以下命令并按<Enter>键执行,即可下载arm-none-linux-gnueabi-gcc安装包。
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
在下载的过程中完全可以按<Ctrl>+<c>退出下载,以后加上-c选项可以从断点处继续下载,如下所示。
wget -c http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
[编辑]解压arm-none-linux-gnueabi-gcc安装包
arm-none-linux-gnueabi-gcc安装包下载完成后:
首先,拷贝到/usr/local目录下。
sudo cp arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /usr/local
然后,解压到当前目录下。
sudo tar -jxvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
执行以上命令后,arm-none-linux-gnueabi-gcc安装包会被解压到当前目录下的一个arm-2009q1目录中。arm-2009q1目录是在解压时自动创建的。
[编辑]增加交叉编译工具路径
解压完成后,可以进入arm-2009q1/目录下查看一下目录结构。其中,在/usr/local/arm-2009q1/bin/目录下存放的是交叉编译工具的各命令。为了使系统能够找到交叉编译工具的各命令,可以将/usr/local/arm-2009q1/bin/目录增加到PATH变量中。以vi为例,步骤如下:
1、打开/etc/bash.bashrc脚本
vi /etc/bash.bashrc
2、增加/usr/local/arm-2009q1/bin/目录到PATH变量中
vi默认进入命令模式,在命令模式下,只能移动光标、修改和删除文字,而且还有固定的操作命令。
在vi下插入文本,必须先进入插入模式。要进入插入模式,可以在命令模式下按<a>或<A>键、【i】或【I】键、<o>或<O>键,操作及其功能如下所示。
操作 | 功能 |
---|---|
a | 在光标后开始插入 |
A | 在光标所在行尾开始插入 |
i | 在光标前开始插入 |
I | 在光标所在行的第一个非空格字符前开始插入 |
o | 在光标所在行下新增一行开始插入 |
O | 在光标所在行上新增一行开始插入 |
首先,将光标移动到文件末行;
其次,按<o>键,在光标所在行下新增一行开始插入;
然后,插入下面的语句;
export PATH=$PATH:/usr/local/arm-2009q1/bin/
最后,保存退出。
在vi下,要保存文件并退出,必须先进入末行模式。要进入末行模式,只有在命令模式下,输入冒号<:>。而当前处于插入模式下,从插入模式返回到命令模式必须按<Esc>键。因此,先按<Esc>键,返回到命令模式;再输入冒号<:>,进入末行模式。如下所示,列出了末行模式下一些常用的命令。
操作 | 功能 |
---|---|
q! | 不保存修改,退出vi |
wq | 保存修改,退出vi |
显然,需要保存修改,因此,输入<wq>,保存/etc/bash.bashrc脚本并退出vi,返回到shell命令行。
3、执行/etc/bash.bashrc脚本
尽管增加了交叉编译工具的路径,并且保存了/etc/bash.bashrc脚本,但是,由于修改后,没有执行,因此修改后的PATH变量没有起作用,必须手动执行一次/etc/bash.bashrc脚本,如下所示。
source /etc/bash.bashrc
当然,也可以重启系统,因为,系统启动时,会自动执行该脚本。
[编辑]验证
接下来,验证arm-none-linux-gnueabi-gcc是否安装成功。可以在shell命令行下,先输入arm-,然后按<Tab>键。如果能够自动补齐为arm-none-linux-gnueabi-,则说明安装成功。
注:64位操作系统需要执行以下命令来安装所需的库文件以运行32位交叉编译工具链:
sudo apt-get install ia32-libs
[编辑]交叉编译工具gcc-arm-linux-gnueabi安装
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,就称这种编译程序支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。如keil软件,在keil上编译,但在单片机上运行,典型的交叉编译。在编译嵌入式操作系统内核和应用程序之前,必须先安装交叉编译工具。
[编辑]打开终端
进入Ubuntu操作系统,依次选择“Applications(应用)”、“Accessories(附件)”、“Terminal(终端)”。shell终端界面如下图所示。
[编辑]安装gcc-arm-linux-gnueabi
在Ubuntu操作系统中,得益于Ubuntu的APT(Advanced Packaging Tool),搜索、安装、升级和卸载软件包,甚至是升级Ubuntu操作系统都非常简单。配合APT工作的是一个功能强大的命令行工具——apt-get命令。apt-get命令一般需要root权限执行,所以一般前面加上sudo。
例如安装一个软件包,只需要在apt-get install后加上软件包全名即可。以下命令用于安装gcc-arm-linux-gnueabi:
sudo apt-get install gcc-arm-linux-gnueabi
在shell命令行下,输入以上命令并按<Enter>键执行,即可下载安装gcc-arm-linux-gnueabi交叉编译工具,如下图所示。
系统不会立即安装,而是先打印安装信息并提示是否继续安装,等待用户选择。如果继续安装,则输入<y>,如下图所示;否则输入<n>。然后按<Enter>键。
如果选择继续安装,接下来,系统才会真正下载安装gcc-arm-linux-gnueabi。安装完成后,系统返回到shell命令行。
[编辑]验证
接下来,验证gcc-arm-linux-gnueabi是否安装成功。可以在shell命令行下,先输入arm-linux,然后按<Tab>键。如果能够自动补齐,则说明安装成功。