Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7693
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 62
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-29 15:58
个人简介

只做我喜欢做的事

文章分类
文章存档

2015年(5)

我的朋友

分类: 嵌入式

2015-03-29 19:25:15

 

修改交叉编译工具 
(以下是参考韦东山的嵌入式Linux视频写出来的)

 

make smdk2410_config

make

 

// 编译过程中遇到错误:

/bin/bash: line 1:  7874 Segmentation fault  

发生段错误,可能的原因是新的u-boot在用到了新的属性,arm-linux-ld这个工具链的版本太低了,导致无法编译,那么就换新的编译器(一个编译器下有各种工具链)

 

arm-linux-gcc –v   // 查看交叉编译器版本

gcc version 3.4.5

 

make tmp    // 先建个临时目录

tar xzf arm-linux-gcc-4.4.3.tar.gz -C tmp/    // 解压到tmp目录下

ls tmp/

opt

ls tmp/opt/FriendlyARM/toolschain/4.4.3/

arm-none-linux-gnueabi  bin  include  lib  libexec  share

ls tmp/opt/FriendlyARM/toolschain/4.4.3/bin/   // 列出好多的工具链

 

把它解压到根目录下(对目录操作应该用sudo命令)

sudo tar xzf arm-linux-gcc-4.4.3.tar.gz -C /  

 

我们输入的命令是shell来起作用的,它去找到命令的程序来执行

那么去哪找呢,是根据环境变量来找的,环境变量指定了去哪可以找到那么程序

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/mini2440/gcc-3.4.5-glibc-2.3.6/bin

 

cd /

ls

bin  boot  cdrom  dev  etc  home  include  initrd.img  lib  lost+found  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz  work

所以执行解压前要弄个临时目录tmp看下,解压的目录下,根文件这么多目录,你直接解压到这里,不然不知道解压后是哪个目录了

 

现在我们要用的是这个编译器,那么要设置下环境变量

 

// 以前我们是用这个的

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/mini2440/gcc-3.4.5-glibc-2.3.6/bin

 

// 修改  (格式 export PATH=新编译器路径:/usr/..../games)

export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

arm-linux-gcc -v

...

gcc version 4.4.3 (ctng-1.6.1)

// 修改成功了

 

// 以上是手工设置的,如果不想每次重启后,都要设置下环境变量,那么可以这样改

sudo vi /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.4.3/bin"

// 换新的编译器路径就可以了

 

 

阅读(460) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Oops信息及栈回溯

给主人留下些什么吧!~~