原创 arm-linux-gcc-3.3.2 交叉编译器的建立

2011-9-3 09:48 1811 8 8 分类: MCU/ 嵌入式
摘自:http://www.linuxdiyf.com/viewarticle.php?id=85391
1:下载arm-linux-gcc-3.3.2.tar.bz2 到任意的目录下
我把它下载到了我的工具文件夹里 /home/zt/tools

arm-linux-gcc-3.3.2.tar.bz2 的下载地址如下:(有71.3M)

http://www.applieddata.net/devel ... x-gcc-3.3.2.tar.bz2

2:解压

进入工具目录(视具体情况而定)

debian:/home/zt/tools# cd /home/zt/tools
解压

debian:/home/zt/tools# tar xvf arm-linux-gcc-3.3.2.tar.bz2
解压过程需要一段时间,解压后的文件形成了 usr/local/ 文件夹
进入该文件夹

debian:/home/zt/tools# cd usr/local/
将arm文件夹考到/usr/local/下

debian:/home/zt/tools/usr/local# cp -rv arm /usr/local/
现在交叉编译程序集都位于/usr/local/arm/3.3.2/bin下面了

3:修改环境变量

export PATH=/usr/local/arm/3.3.2/bin:$PATH
用此方法添加的环境变量会在掉电后丢失,因此,可以在启动脚本里做手脚,方法如下:

debian:/home/zt/tools/usr/local# vim /etc/bash.bashrc
在文件的最后一行添加以上命令

export PATH=/usr/losbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

这一步按上面的步骤做的时候,我出现了问题:重启后,执行echo $PATH,但是列表中还是没有/usr/local/arm/3.3.2/bin !于是我尝试着将”export PATH=/usr/local/arm/3.3.2/bin:$PATH“这句话添加到/home/jx/.bash_profile文件中,重启,再 次执行echo $PATH,列表中终于出现了/usr/local/arm/3.3.2/bin。然后我进入root中再执行echo $PATH,列表中也出现了/usr/local/arm/3.3.2/bin。而当我添加一个用户jinxin,然后执行"su -l jinxin"(参数-l表示登录并改变到所切换的用户环境),输入用户jinxin的登录密码,然后执行echo $PATH,列表中没有出现/usr/local/arm/3.3.2/bin。查资料知:用户环境变量均放在/.bash_profile(如果用的是 bash的话)中,每个用户目录对其他用户不可见。上面也验证了这个说法。

注:刚刚在网上发现了一个命令: source .bash_profile 在修改好 .bash_profile 文件后,直接运行这个命令,就可以直接让环境变量的修改生效了。 但是使用这个命令有一定的危险性。因为我随便在./bash_profile里边加了一句话"export PATH=/home/jx",然后执行source .bash_profile后,我的bash shell下的基本命令如:su、ls、cd、vi等就不能使用了,显示:“-bash: ls: command not found”!

解决办法:我觉得我用了一个比较笨的办法,就是重新登录,但用另一个用户名登录,然后在shell中输入:"su"进入root, 在root下修改前面所说的.bash_profile文件。欢迎大家提供更好的解决办法。

4:测试

安装成功,否则 会提示

bash: arm-linux-gcc: command not found

5:收尾工作

把用过的文件删除

debian:/home/zt/tools/usr/local# cd ../..
debian:/home/zt/tools# rm -rv usr
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条