交叉编译环境构建(arm-linux-gcc-4.3.2 )
今天早上5点多起来看教学视频,一直在追加PATH路径后导致ls、vim等其它命令不能执行浪费了好多时间。
遇到的问题主要原因是在
export PATH=$PATH:/usr/local/arm/4.3.2/bin
加这个路径的时候 把"$"写成了"S"导致其它命令都不能执行。不能执行vim就导致无法删除添加的语句,只能通过
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$HOME/bin:$ORACLE_HOME/bin这个语句来恢复然后从新编写,修改
1.解压 arm-linux-gcc-4.3.2.tgz
#tar -jxvf arm-linux-gcc-4.3.2.tgz
解压过程需要一段时间,解压后的文件形成了 usr/local/ 文件夹,进入该文件夹,将arm文件夹拷贝到/usr/local/下
# cd usr/local/
#cp -rv arm /usr/local/
现在交叉编译程序集都在/usr/local/arm/4.3.2/bin下面了
2. 修改环境变量,把交叉编译器的路径加入到PATH。
修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在最后加上:
export PATH=$PATH:/usr/local/arm/4.3.2/bin
export PATH
(如果不能编辑,先修改相关文件的权限使用chmod命令。)
3. 立即使新的环境变量生效,不用重启电脑:
对应方法一:#source /root/.bashrc
对应方法二:# source /etc/profile
4. 检查是否将路径加入到PATH: # echo $PATH
显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。至此,叉编译环境安装完成。
5. 测试是否安装成功:首先查看bin目录下可执行文件,或许不是arm-linux-gcc
# /arm/4.3.2/bin/arm-none-linux-gnueabi-gcc-4.3.2 –v
上面的命令会显示arm-linux-gcc信息和版本,
gcc version 4.3.2
6 .编译Hello World程序,测试交叉工具链
#include <stdio.h> int main() {
printf("Hello World!\n"); return 0; }
执行下面的命令:
# arm-linux-gcc -o hello hello.c
源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了!
接着可以输入file hello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行。
但是执行以下命令,可以生产a.out文件,并可在PC上运行输出结果
# gcc hello.c ;编译程序
# ./a.out ;输出结果