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,添加环境变量,
其他方法参见:“https://blog.csdn.net/JustDoIt_201603/article/details/87829089”

在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 看是否编译成功

可见成功生成了二进制文件,这个二进制文件就可以在arm平台跑了。

转载:https://www.linuxidc.com/Linux/2013-06/85902.htm

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

  1. 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 ...

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

    Linux版本:Ubuntu8.04 内核版本:Linux 2.6.24 交叉编译器版本:arm-linux-gcc-3.4.1 交叉编译器下载链接: https://share.weiyun.com ...

  3. 嵌入式开发环境ARM+linux的搭建

    VMWare6.03+Fedora4设置(minicom) 第一步:添加串口 在虚拟机开机之前(即linux系统启动前)先选择Edit virtual machine settings,在弹出对话框里 ...

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

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

  5. Ubuntu 12.04下PHP环境的搭建(LAMP)

    1.首先打开命令行,切换到root身份,获得最新的软件包 suroot sudoapt-getinstallupdate 2.安装MySQL数据库 sudoapt-getinstallmysql-se ...

  6. Windows XP硬盘安装Ubuntu 12.04双系统

    Windows XP硬盘安装Ubuntu 12.04双系统 一.下载文件 需要下载的东西有两个,一个是grub4dos,另一个是Ubuntu 12.04 LTS的镜像文件,具体下载地址如下: 1.Gr ...

  7. 在Ubuntu 12.04 桌面上设置启动器(快捷方式)

    在Ubuntu 12.04 桌面上设置启动器(快捷方式)过程讲解: 如下图所示,Eclipse 和 SQLDeveloper 都可以直接双击打开,这些应用程序的启动器都在 /usr/share/app ...

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

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛. 安装步骤 1.准备工具安装目录 将压缩包ar ...

  9. linux 编译c q64,Ubuntu 12.04 LTS 64位搭建Qt4终端编译环境

    在Ubuntu 12.04下采用apt-get的方法安装Qt4. First: sudo apt-get install libqt4-dev libqt4-dbg libqt4-gui libqt4 ...

最新文章

  1. pythonppt教材_PPT、H5、Python、大数据……浙江中小学新教材9月投入使用!
  2. 在国企当程序员是怎么样的体验?
  3. Django 学习资源
  4. python简介及环境安装
  5. Qt控件大小自适应电脑分辨率问题
  6. 【数据结构笔记44】线性探测的散列表的逆问题(拓扑排序的方法)
  7. jq实现百度图片移入移出内容提示框上下左右移动的效果
  8. 推荐系统回顾,FFM引入特征域进一步增强了模型的表达能力。大规模分段线性模型LS-PLM
  9. 计算机毕业设计之java+springboot基于vue的地方废物回收机构管理系统
  10. 【空间数据库】空间数据库引擎(Spatial DataBase Engine)ArcSDE详解
  11. itext7学习笔记杂谈系列2——在itext7中添加中文(其他字体)和字体相关事
  12. 企业微信群机器人怎么用
  13. Java高效率复习-面向对象下篇[Java]
  14. 「数据一致性」理解分布式系统中的一致性
  15. 注意关于花露水的4大使用误区 - 生活至上,美容至尚!
  16. HC32 flash 读写操作
  17. DLT 网关功能配置
  18. 解读MIUI 6背后四大布局,三层风险
  19. 什么时候会出现user_objects的invalid_月季什么时候冬剪合适?记住不能剪得太早,不然会出现这种现象...
  20. IaaS、PaaS、SaaS详解(通俗易懂)

热门文章

  1. Android动态加载插件APK
  2. Win7x64中使用VS调试WEB项目报“ORA-06413: 连接未打开”错误解决方法
  3. 博客No.1活动暂停公告
  4. 基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group)
  5. FJ集团企业级邮件服务器构建方案
  6. 【Python】原创 | 写一个符合人类思维的四舍五入函数(No round !!!)
  7. LongestPalindromeSequence
  8. istio安装命令整理
  9. linux主流文件系统及日志和非日志文件系统的区别
  10. @ConditionalOnClass注解的作用