原文出自:https://blog.csdn.net/a470038781/article/details/52973450
感谢网友的分享!!!
我的开发板: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
source ~/.bashrc
即可。
作者:a470038781
来源:CSDN
原文:https://blog.csdn.net/a470038781/article/details/52973450
版权声明:本文为博主原创文章,转载请附上博文链接!