s5pv210交叉编译工具链的安装

一、安装

第一步
载好名为arm-2009q3.tar.bz2的安装包,存放在D:\Winshare\ARM-s5pv210文件夹,该路径为共享路径(与Linux的共享文件夹)
第二步
打开Linux,在Linux中输入cd / usr/local,此时进入到该目录下,再创建一个arm目录(mkdir ./arm),cd arm进入arm目录,将共享文件里的安装包复制到此目录下(cp /mnt/hgfs/Winshare/ ARM-s5pv210/ arm-2009q3.tar.bz2 ./)
第三步
将复制过来的压缩包在arm目录下解压(tar -jxvf arm-2009q3.tar.bz2),解压完成后,在arm目录下会产生一个arm-2009q3的目录,进入这个目录
第四步
在arm-2009q3目录下进入bin目录,里面就是交叉编译工具链的应用程序,到此相当于交叉编译工具链已经安装完毕
第五步
测试是否正真安装成功,在bin目录下执行./arm-none-linux-gnueabi-gcc –v,如果出现下面内容表示安装完成
s5pv210交叉编译工具链的安装_第1张图片
当然这仅仅是不出现问题的情况。

问题解决

(1)在执行./arm-none-linux-gnueabi-gcc –v命令时,出现下面两行错误提示

arm-none-linux-gnueabi-gcc –v: No such file or directory 
arm-none-linux-gnueabi-gcc: no input files 

问题产生的原因:我安装的ubuntu 20版本为64位的,而交叉编译工具链是32位的,就会出现不兼容的问题。
解决的方法:既然不兼容那么就需要安装32位库文件(32位库文件需要根据你用的Linux的版本来对应)就我自己(Ubuntu 20.04)来说,执行sudo apt-get install lib32z1(普通用户模式下需要sudo来赋予权限)安装的32位库文件是可以运行的,在执行sudo apt-get install lib32z1命令时如果不出问题,再执行
arm-none-linux-gnueabi-gcc -v,此时就可以看到前面那段关于交叉编译工具链版本号的提示,就表示真正的安装成功了。
当然前提是不出问题,我在安装32位库文件时就又发生了错误

E: 无法定位软件包 lib32ncurses5

解决方法就是,使用sudo apt-get update命令来更新ubuntu,然后再执行sudo apt-get install lib32z1,然后再arm-none-linux-gnueabi-gcc -v,此时因该就解决了所有的问题(我安装时遇到的所有问题)了。

二、环境变量PATH的配置以及符号链接的设置

1、环境变量的配置
在没有配置环境变量时,要想使用交叉编译工具,就必须在交叉编译工具链安装的目录使用,在外部使用,就会报错,此时就需要配置环境变量,使得在其他目录下使用交叉编译工具时也能检索到安装的地址。
先来看看未配置时环境变量的内容:
在这里插入图片描述
可以看到并没有交叉编译工具链的安装地址。
现在就来配置环境变量,在ubuntu中执行该命令

vim ~/.bashrc

然后进入.bashrc文本,只需要在文本最后加入export PATH=/usr/local/arm/arm2009q3/bin:$PATH,这里的/usr/local/arm/arm-2009q3/bin是我的交叉编译工具的所在地,然后保存退出。
在这里插入图片描述
现在再来看看PATH中的内容(注意配置完需要重启终端)
在这里插入图片描述
此时就加入了交叉编译工具链的地址,现在在其他文件下用交叉编译工具就可以使用了。

2、符号链接的设置
由于交叉编译工具arm-none-linux-gnueabi-xxx太长了,需要给他一个符号链接来指向它,比如说用一个简短一点的
arm-linux-xxx ——> arm-none-linux-gnueabi-gcc
这里在/usr/local/arm/arm-2009q3/bin目录下添加了一个脚本,内容是

  1 ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line
  2 ln arm-none-linux-gnueabi-cpp  -s arm-linux-cpp
  3 ln arm-none-linux-gnueabi-gdb -s arm-linux-gdb
  4 ln arm-none-linux-gnueabi-objcopy -s arm-linux-objcopy
  5 ln arm-none-linux-gnueabi-sprite -s arm-linux-sprite
  6 ln arm-none-linux-gnueabi-ar -s arm-linux-ar
  7 ln arm-none-linux-gnueabi-g++ -s arm-linux-g++
  8 ln arm-none-linux-gnueabi-gdbtui -s arm-linux-gdbtui
  9 ln arm-none-linux-gnueabi-objdump -s arm-linux-objdump
 10 ln arm-none-linux-gnueabi-strings -s arm-linux-strings
 11 ln arm-none-linux-gnueabi-as  -s arm-linux-as
 12 ln arm-none-linux-gnueabi-gcc -s arm-linux-gcc
 13 ln arm-none-linux-gnueabi-gprof -s arm-linux-gprof
 14 ln arm-none-linux-gnueabi-ranlib -s arm-linux-ranlib
 15 ln arm-none-linux-gnueabi-strip -s arm-linux-strip
 16 ln arm-none-linux-gnueabi-c++ -s arm-linux-c++
 17 ln arm-none-linux-gnueabi-gcc-4.4.1 -s arm-linux-gcc-4.4.1
 18 ln arm-none-linux-gnueabi-ld -s arm-linux-ld
 19 ln arm-none-linux-gnueabi-readelf -s arm-linux-readelf
 20 ln arm-none-linux-gnueabi-c++filt -s arm-linux-c++filt
 21 ln arm-none-linux-gnueabi-gcov -s arm-linux-gcov
 22 ln arm-none-linux-gnueabi-nm -s arm-linux-nm
 23 ln arm-none-linux-gnueabi-size -s arm-linux-size
~                           

然后再该目录下执行 source shell-arm-linux.sh (shell-arm-linux.sh是我的脚本的名称),然后就完成了符号链接。

你可能感兴趣的:(ARM,#,s5pv210,交叉编译器,S5PV210,linux)