|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-9-23 11:03 编辑 ; o ]3 f" x+ q1 _: T& y
6 @1 x+ N1 ~; }6 b7 n安装环境5 @; W0 [' Z8 G6 _
" @, t) t# z+ B O/ k Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:ARM-linux-gcc-4.4.3
: ~2 ^0 @: w. n# f; P; Q2 n& U- X安装前的絮叨5 L9 d. T4 J( Y: b
) k/ K3 K9 y' y6 a+ Y& X; D 首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。
k& u0 q; z ~; ~6 ~, J
7 A( p% a# A- F4 V5 [5 L. A4 g- Q 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。
8 ~; l6 K6 J2 i c
1 k2 e$ h! G( O8 Z% `) C 那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
3 E# p6 }5 |4 v
/ \' n" m$ o! `* x8 M2 x7 s6 y# {3 t安装步骤% b2 Z* ]* L. b: X8 i
: l4 q# Y& C s6 B1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。
" {9 r* J% N, [* {. f5 V% ?/ W0 ^' D, s. L* S
) M; E( k! G6 i+ i
$ o& x3 Z# r) I- u4 E# e# x2 N |
|