EDA365电子论坛网

标题: 嵌入式Ubuntu12.04交叉编译环境arm-linu-gcc的搭建过程和图解 [打印本页]

作者: thinkfunny    时间: 2019-9-23 10:53
标题: 嵌入式Ubuntu12.04交叉编译环境arm-linu-gcc的搭建过程和图解
本帖最后由 thinkfunny 于 2019-9-23 11:03 编辑 , @" p! g4 M1 M, q1 a
2 D1 e$ t/ f  R. W9 E
安装环境3 o8 Z# }) u5 C  {4 Q
/ c2 |0 b% W& q% x! S
       Linux版本:Ubuntu 12.04    内核版本:Linux 3.5.0   交叉编译器版本:arm-linux-gcc-4.4.3

! k, ^. m& v1 ], i安装前的絮叨6 |& L) n) O: b6 ]2 x
. s& o2 w& Y: L/ F  f  t' ?
    首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。
& o  J5 g  Q. V) v: [) v7 Q& r; {, r8 m( [) D
   交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。
, c5 n: ?3 u8 q# i, f& w' s. I0 i. l3 x; P' ~% [
   那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。  b# {) i6 O! _6 M' m9 c

7 H3 l& n0 x9 o7 Z5 P3 n" N" Y安装步骤
) S. D, C2 M5 t& _' K- S7 B! \5 r
- U9 R& [+ V1 A/ D' r1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。: v8 n' @4 \: }0 Z* i

: X1 a" L6 q4 W7 f) h   

  c% e9 Z. @" A. Y& J) w
: U5 |, F5 r) h( w7 k( B% u/ C
作者: Demyar    时间: 2019-9-23 18:08
研究研究,谢谢楼主分享。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2