最常用的编译版本是arm-linux-gcc-3.4.1 和 arm-linux-3.3.2 的,其中3.4.1的用于编译2.6的内核,而3.3.2的常用于编译busybox和bootloader。如果搭配编译的版本配合不好就会出错,所以要选择好编译版本。在uclinux上用的多的就是 arm-elf-tools-20030314。

下面开始设置过程:

1)下载arm-linux-gcc-3.4.1并解压,会得到一个包(arm包),放到/usr/local/下(其实自己想放哪里都行,自己愿意了)。

2)设置环境变量。把交叉编译器的路径加入到PATH。这里有三种方法, 我都说一下:

方法一:修改/etc/bash.bashrc文件

#vim /etc/bash.bashrc      在最后加上:

export PATH=$PATH:/usr/local/arm/3.4.1/bin

export PATH

方法二:修改/etc/profile文件:

# vim /etc/profile             增加路径设置,在末尾添加如下,保存/etc/profile文件:

export PATH=$PATH:/usr/local/arm/3.4.1/bin

方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin    注:(这只能在当前的终端下才是有效的!)

在设置完了后,就要是环境变量生效,当然可以重启使其生效,也可以在终端输入如下:

对应方法一:#source /root/.bashrc

对应方法二:# source /etc/profile          用echo $PATH  看看有没?

3)打开一个中断,输入arm-linux-gcc -v看到下边的就说明成功了

Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs

Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc- 3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu--prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long Thread model: posix

gcc version 3.4.1

4)写个hello试试

#include

int main()

{

printf("Hello World!\n");

return 0;

}

执行下面的命令:

#arm-linux-gcc -o hello hello.c

然后再输入#file hello,会看到如下信息:

hello: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped

说明生成了一个可以运行在Arm体系结构上的应用程序。经过以上步骤,arm-linux-gcc开发环境就搭建好了.

5)在编译其他时有可能会用到3.3.2,可以用具体的路径指定 (/usr/local/arm/3.3.2/bin/arm-linux-)。

----------------------------------------

修改环境变量这一步修改/etc/profile文件

在path中添加arm-linux-gcc路径

if [ "`id -u`" -eq 0 ]; then

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/arm/3.4.1/bin"

else

PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"

fi

再source /etc/profile就可以刷新环境变量

其他方式试过好像不行........

centos arm-linux-gcc,CentOS 5.5下arm-linux-gcc交叉编译环境的搭建相关推荐

  1. ubuntu12.10下arm-linux-gcc交叉编译环境的搭建

    交叉编译环境搭建的原因:通俗上讲,因为嵌入式系统可用资源比较少:几十M的ARM 二三百M的flash相对我们的pc机来说资源真的没法比.所以,为了解决这种局面就将PC机等作为主机,搭建开发环境,进行编 ...

  2. linux 建立交叉编译环境变量,ARM-Linux-gcc-4.4.3交叉编译环境终于搭建

    Linux交叉编译环境终于搭建完成具体步骤: 0.软件请到友善之臂的官网下载 1.解压 tar zxvf arm-linux-gcc-4.4.3-20100728.tar.gz -C/(别make了, ...

  3. window 下分linux分区,如何在windows9x下访问linux分区

    1. 简 介 Linux 内 核 支 持 众 多 的 文 件 系 统 类 型, 目 前 它 可 以 读 写( 至 少 是 读) 大 部 分 的 文 件 系 统.Linux 经 常 与Microsoft ...

  4. cygwin学习linux命令,cygwin 在windows下使用linux命令的方法

    cygwin 在windows下使用linux命令的方法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 但是cygwin ...

  5. linux系统嵌入式编译环境,Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解...

    Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4.4.3 交叉编译器下载 见这篇文章http://www.linuxidc.c ...

  6. 怎么把linux虚拟机硬盘扩容,Windows下虚拟机Linux(CentOS8)扩容设置 - 磁盘扩容中的坑和解决方法...

    摘要:[原创]转载请注明作者Johnthegreat和本文链接 由于虚拟机空间不足,为了避免重装虚拟机,做了一次无损扩容. 过程中的报错如下: 为了详细记录,这里将整个过程详述如下: 一.问题和需求 ...

  7. 如何用cmd链接linux,如何在Windows cmd 下使用linux的命令

    前期准备 windows电脑一台 git windows版(不知道怎么安装git的童鞋请百度安装git) 背景介绍 作为一个程序员每天都或多或少会对cmd进行操作,用过linux系统后再来使用cmd你 ...

  8. linux的免费虚拟机,Win10下的Linux+非虚拟机+非双系统+可靠教程+免费

    文|梁佐佐 为了用Linux环境搞科研或者做开发,你不惜花大量的精力去装虚拟机(内存开支大,有卡顿现象),或者怒装双系统(切换起来发现还不如买两块电脑-).无论怎样,Windows系统用起来更舒服,譬 ...

  9. ubuntu生成Linux内核解压,Ubuntu下生成linux内核

    写在前面:由于老师所给的指导文档经过测试之后发现已经不太适用于现在ubuntu下面的实际操作情况(貌似这个是按照RED HAT下面的情况来写的),具体体现在一些指令不适用(mkinitrd),还有引导 ...

最新文章

  1. 流程快速开发平台,工作流引擎中间件,工作质量考核设计
  2. Selenium3自动化测试——21.数据驱动应用
  3. C# WinForm中 获得当前鼠标所在控件 或 将窗体中鼠标所在控件名显示在窗体标题上...
  4. 一位大牛的JAVA学习资料
  5. .Net Micro Framework 快速入门
  6. spi驱动 (2):应用与测试
  7. maven项目使用jacoco插件检测代码覆盖率详细配置
  8. 如何理解 Graph Convolutional Network(GCN)?
  9. 字符串的模式匹配方法
  10. Java数据类型转换超详解
  11. 在python中用os模块实现批量移动文件
  12. 【UV打印机】PrintExp打印软件教程(七)-高级模式(其它)
  13. proteus常用器件
  14. 华为HCDA论证教程
  15. 记录第一次面试的体会(字节跳动实习生招聘)
  16. python基础入门1
  17. McAfee解读风险管理之道 企业安全面临新挑战
  18. python数据获取及预处理_Python小练习——电影数据集TMDB预处理
  19. 关于SpringCloud,Spring容器重复初始化的问题
  20. CVE的提交与Github写入技巧

热门文章

  1. 浅谈第三方电子支付平台测试方法的研究
  2. 25muduo_net库源码分析(一)
  3. linux shadow文件如何拷贝,Linux如何查找shadow文件进入?这样几步轻松搞定!
  4. 【论文写作】JSP在线考试系统如何写功能描述
  5. 一行代码,能导入所有Python库!
  6. flask 上传excel 前端_flask 笔记
  7. 数据结构与算法之-----图(拓扑排序)
  8. java fork join demo_Fork/Join框架 demo
  9. QByteArray与char、int、float(及其数组)之间的互相转化
  10. kubeadm一键搭建kubernetes1.14.1高可用集群