Chinaunix首页 | 论坛 | 博客
  • 博客访问: 146417
  • 博文数量: 101
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 9
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-17 08:11
文章分类
文章存档

2017年(91)

2016年(10)

我的朋友

分类: 嵌入式

2016-04-15 13:53:36


第一次配置交叉编译环境,使用的是从网络上下载下来的现成的工具包,arm-linux-gcc-4.3.2.tgz, 我就选了一个现在版本最高的,然后执行:
$ tar jxvf arm-linux-gcc-4.3.2.tgz
在当前目录下得到一个文件夹,我是放在/z/software/cross_tools 这个目录下,然后就得
到了 /z/software/cross_tools/usr/local/arm/4.3.2/ 这样一个目录,接着把 arm 这个目录拷贝到根目录下面去,执行:
$ mv usr/local/* /
现在arm 这个目录已经到了根目录下面去了,然后把arm这个目录加到PATH中去就可以了。

我使用的是fc12, 在登录目录下面有一个隐藏文件 .bach_profile, cd 到登录目录下面去,执行:
$ vi .bash_profile
然后在PATH=$PATH:$HOME/bin这一行添加使成为 PATH=$PATH:$HOME/bin:/arm/4.3.2/bin
就可以了,现在logout一次,重新登录以后,执行:
$ echo $PATH
就可以看到你的默认路径里已经有了arm-linux-gcc的执行路径了。

可以像在PC主机下面编译程序一样来编译ARM下面的程序了。

试验一下是否成功:
写一个最简单的hello.c程序,然后用
$ arm-linux-gcc -Wall hello.c -o hello.arm
就可以得到一个hello.arm 的可执行文件,然后再用
$ gcc -Wall hello.c -o hello.pc
得到一个hello.pc 的PC上可执行的文件。

用下面的命令:
$ file hello.pc hello.arm
来查看这2个文件,看到下面的内容:
hello.pc:  ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
hello.arm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
到现在,已经可以编译arm下面的程序了。
enjoy it!

欢迎交流!
互相学习,共同提高!
阅读(1340) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~