第一次配置交叉编译环境,使用的是从网络上下载下来的现成的工具包,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!
欢迎交流!
互相学习,共同提高!
阅读(1256) | 评论(0) | 转发(1) |