原文出自:https://blog.csdn.net/yz_cfm/article/details/78208447
摘抄自朱有鹏嵌入式视频教程。
linux中装软件的特点
linux中安装软件比windows中复杂。linux中安装软件一般有以下几种方法:
第一种:在线安装。譬如ubuntu中使用apt-get install vim来安装vim软件。
第二种:自己下载安装包来安装。这种方式的缺陷就是你不知道你下载的安装包和你的系统是否匹配。
第三种:最装逼的一种方式,就是源代码安装。
总结:我们安装交叉编译工具链(arm-linux-gcc)实际采用第二种安装方式。
交叉编译工具链的选择
我们选择交叉编译工具链的原则:和我们所使用的目标平台(给哪款SoC编程)尽量去匹配。譬如我们开发S5PV210的程序就是用arm-2009q3这个版本,因为三星官方在开发S5pv210时就使用这个版本的交叉编译工具链,这样可以最大限度的避免稀奇古怪的问题出现。
交叉编译工具链的安装
步骤1:打开虚拟机,在/usr/local/下创建/usr/local/arm文件夹
步骤2:先将安装包从Windows中弄到linux中去。可以用共享文件夹,也可以用Samba,也可以cuteftp。
步骤3:解压。tar -jxvf arm-2009q3.tar.bz2
到此相当于程序已经安装完毕,真正的应用程序安装在/usr/local/arm/arm-2009q3/bin目录下
注:linux中的目录管理方法。技术角度来讲,linux中所有目录性质都是一样的,所以技术角度来讲我们把软件安装到哪里都行。但是因为如果胡乱放置,将来程序可能不好找。所以久而久之大家就总结了一个文件放置的一般定义,譬如说/bin目录放置一些系统自带的用户使用的应用程序,/sbin目录下存放的是系统自带的系统管理方面的应用程序。
那我们装软件放在哪里?一般都在/usr目录下。我们安装arm-linux-gcc,就在/usr/local/底下创建一个arm文件夹,然后装到里面。
安装后的测试
到真正的应用程序的安装目录下(也就是/usr/local/arm/arm-2009q3/bin),去执行arm-linux-gcc -v
执行方法是:./arm-none-linux-gnueabi-gcc -v
执行后可以得到一长串输出,其中有“gcc version 4.4.1 ”字样,即表示安装成功。
将工具链导出到环境变量
export PATH=/usr/local/arm/arm-2009q3/bin:
P
A
T
H
在
一
个
终
端
中
执
行
以
上
命
令
后
,
该
终
端
中
就
可
以
直
接
使
用
a
r
m
−
l
i
n
u
x
−
g
c
c
了
,
但
是
只
要
关
掉
这
个
终
端
再
另
外
打
开
一
个
立
马
就
不
行
了
。
原
因
是
我
们
本
次
终
端
中
执
行
时
的
操
作
只
是
针
对
本
终
端
,
以
后
再
打
开
的
终
端
并
未
被
执
行
过
这
个
命
令
所
以
没
导
出
。
解
决
方
案
是
在
/
.
b
a
s
h
r
c
中
,
添
加
e
x
p
o
r
t
P
A
T
H
=
/
u
s
r
/
l
o
c
a
l
/
a
r
m
/
a
r
m
−
2009
q
3
/
b
i
n
:
PATH 在一个终端中执行以上命令后,该终端中就可以直接使用arm-linux-gcc了,但是只要关掉这个终端再另外打开一个立马就不行了。原因是我们本次终端中执行时的操作只是针对本终端,以后再打开的终端并未被执行过这个命令所以没导出。 解决方案是在~/.bashrc中,添加export PATH=/usr/local/arm/arm-2009q3/bin:
PATH在一个终端中执行以上命令后,该终端中就可以直接使用arm−linux−gcc了,但是只要关掉这个终端再另外打开一个立马就不行了。原因是我们本次终端中执行时的操作只是针对本终端,以后再打开的终端并未被执行过这个命令所以没导出。解决方案是在 /.bashrc中,添加exportPATH=/usr/local/arm/arm−2009q3/bin:PATH 即可。
注意:我们导出这个环境变量是在当前用户,如果你登录时在其他用户下是没用的。
为工具链创建arm-linux-xxx符号链接
ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line
作者:丶一个有梦想的老实人
来源:CSDN
原文:https://blog.csdn.net/yz_cfm/article/details/78208447
版权声明:本文为博主原创文章,转载请附上博文链接!