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

安装前的絮叨

首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。

交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。

那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。

安装步骤

1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。

2、使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将software文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下如下图

通过下图可以看到解压成功了,并且解压后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夹下,如下图所示,这个存放路径可得记住,如下图

3、接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim /etc/profile 编辑profile文件,添加环境变量。

在profile中最后一行添加: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin 这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图32行

编写完保存就好了

4、使用命令:source /etc/profile 使环境变量生效

5、在终端上输入命令 arm-linux 再按Tab键,可以看到下图,说明环境变量设置成功了

6、使用命令:arm-linux-gcc -v 会出现下面的错误提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found

说是出现这种问题的原因是由于Ubuntu12.04用的是64位的,解决方法就是使用命令:sudo apt-get install ia32-libs 装一些32位的库

7、待安装完32位的库之后,再使用命令:arm-linux-gcc -v,这一次就成功了,如下图

8、验证,编译一个hello.c文件

使用命令:arm-linux-gcc hello.c -o hello 看是否编译成功

可见成功生成了二进制文件。

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

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

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

  2. linux源码下载阿帕奇,Ubuntu 12.04下源码安装Apache

    环境:Ubuntu 12.04 [简单安装] 一般第一次安装Apache都较为顺利. 1. 下载并解压 root@ubuntu:/home/qy/share#tar zxvf httpd-2.2.22 ...

  3. linux ibus获取窗体位置,Ubuntu 12.04 显示ibus 的输入框

    在虚拟机中安装了Ubuntu 12.04,系统是英文版本的,我能接受,但是苦于没有中文输入法. 起先,我是安装SCIM,结果我折腾了半天,发现其只能在lib-office下使用.firefox,文字编 ...

  4. linux自动挂载ntfs分区,Ubuntu 12.04 开机自动挂载ntfs分区

    在新的64位Ubuntu 12.04版本中 ntfs写入支持程序 不能正常运行.所以想Ubuntu自动挂载ntfs分区就要手动编辑/etc/fstab 文件.  /etc/fstab包含了挂在磁盘的必 ...

  5. Ubuntu 12.04下spark1.0.0 集群搭建(原创)

    spark1.0.0新版本的于2014-05-30正式发布啦,新的spark版本带来了很多新的特性,提供了更好的API支持,spark1.0.0增加了Spark SQL组件,增强了标准库(ML.str ...

  6. 通用pe 装linux系统,U盘“安装”Ubuntu 14.04操作系统详细教程(转)

    Ubuntu是目前主流的Linux桌面操作系统,学习Linux系统的新手首选也是Ubuntu 系统.下面"孤狼"就以最新版的Ubuntu 14.04.1为例,制作U盘启动安装的详细 ...

  7. linux下qq怎么截图,ubuntu 12.04使用QQ截图安装教程

    相信用过linux系统的朋友都知道,linux下的截图软件是在不咋的.虽然系统本身有带截图工具,但是却苦于没有办法在截下来的图片上作画圈.写文字说明等动作. 应该有不少朋友也是从windows系统下转 ...

  8. linux系统下安装ns,Ubuntu 14.04下安装ns2.35

    我选择的版本是2.35最新版本,安装环境是Ubuntu 14.04. 1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包,all ...

  9. hyper-v安装linux系统,Hyper-V下安装Ubuntu 12.10教程 虚拟机下安装系统教程

    一.发行版本的选择: 2.Server版还是桌面版? 不打算安装桌面版,准备安装服务器版本,然后手动的安装GUI部分,以避免装office之类我不需要的内容. 3.哪一个版本? 下载x86 12.10 ...

最新文章

  1. Snowball 关系提取,2篇知乎博客
  2. SAP RETAIL 特征参数文件(Characteristic Profile) I
  3. matlab 工具箱application compiler的作用_matlab机器人工具箱下载与使用
  4. Android Studio 多渠道打包
  5. 从netty-example分析Netty组件续
  6. PHPCMS 模板的设置
  7. horizon client 无法识别域_iText for Mac(OCR识别图中文字工具)
  8. JeeSite 4.0 规划(二)
  9. 管家婆7.2集合最新打印管理器_链接海内外企业用户丨管家婆分销ERP繁体版/英文版...
  10. dojochina ExtJS视频解压密码
  11. nil 作比较时应该加上双引号
  12. sv_labs学习笔记——sv_lab3(System Verilog)
  13. Redis可视化客户端管理及监控工具TreeNMS
  14. 一个苹果证书怎么多次使用——导出p12文件
  15. R语言探索性因子分析练习
  16. 日行一善的100种方式
  17. jquery 抓取微博_使用jQuery和RegexJavaScript进行客户端网络抓取
  18. adb devices 无法识别手机设备
  19. 如何判断2的n次方?用四种方式来扒一扒。
  20. GoLang之标准库net/http包源码

热门文章

  1. android系统三防机,这才是真正给老人设计的智能手机:三防+安卓系统+超大音量,AGM H2...
  2. 飞畅科技-工业以太网交换机组网方式介绍
  3. 【渝粤教育】国家开放大学2018年秋季 0699-22T阅读与写作 参考试题
  4. 【渝粤题库】陕西师范大学200651线性代数 作业(高起专、高起本)
  5. 【渝粤题库】陕西师范大学210011幼儿园语言教育作业(高起专)
  6. html纵向滚动特效,带视觉差效果的垂直全屏整页滚动特效
  7. json文件读取之reader.onload中的定义的变量在其函数外部进行处理
  8. Java面向对象(3)--类的成员方法
  9. win mysql 2003错误_windows MySql 报1067错误 2003错误
  10. php 档案,PHP 档案包 (PHAR)