|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-9-23 11:03 编辑 ! w# N6 S0 U Q/ N1 ?) D
' j( T0 e/ I; D% u0 q7 W/ w安装环境$ t$ W: D# ^" K5 | ]& \ n- k
8 e, {! M# W' S6 [; A# y
Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:ARM-linux-gcc-4.4.3 - k0 W: y- I1 L# U5 v9 C
安装前的絮叨
[% h6 d# ~( O; [+ o. {4 O
, `' p: O1 F2 k+ e* u G V 首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。
7 C) K8 ?+ K" F2 N- ?
! a9 f8 ?3 ]% \( D; y) b+ z 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。
5 Y) W) u& J, o* u: T4 g' D' l! u% n- |& K6 t
那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
& b) H$ Z. i8 e# S' u' Q* _
$ ~' O4 Z7 u A0 Y9 I8 z安装步骤
' |1 Y3 G0 v4 ?5 J z, I
1 W+ R( S- A/ L9 t8 N7 Q1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。0 L4 N3 H. o. p/ L2 N
% o9 j7 }9 F! N& G; `/ a8 L ! g/ y# n( v3 M8 e
- g( C3 V( q$ s' x [4 m' V4 n
|
|