易截截图软件、单文件、免安装、纯绿色、仅160KB

构建ARM Linux交叉编译工具链 详解

  构建ARM Linux交叉编译工具链 详解
本章学习目标:
  ● 了解交叉编译工具链
  ● 理解分步构建交叉编译工具链的方法
  ● 学会使用Crosstool工具构建交叉编译工具链
2.1  交叉编译工具链介绍
读者可能会有疑问,为什么要用交叉编译器?交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程式,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程式,编译得到的程式在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统。这种方法在异平台移植和嵌入式研发时非常有用。相对和交叉编译,平常做的编译叫本地编译,也就是在当前平台编译,编译得到的程式也是在本地执行。用来编译这种跨平台程式的编译器就叫交叉编译器,相对来说,用来做本地编译的工具就叫本地编译器。所以要生成在目标机上运行的程式,必须要用交叉编译工具链来完成。在裁减和制定Linux内核用于嵌入式系统之前,由于一般嵌入式研发系统存储大小有限,通常都要在性能优越的PC上建立一个用于目标机的交叉编译工具链,用该交叉编译工具链在PC上编译目标机上要运行的程式。交叉编译工具链是个由编译器、连接器和解释器组成的综合研发环境,交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。有时出于减小 libc 库大小的考虑,也能用别的 c 库来代替 glibc,例如 uClibc、dietlibc 和 newlib。建立交叉编译工具链是个相当复杂的过程,如果不想自己经历复杂繁琐的编译过程,网上有一些编译好的可用的交叉编译工具链能下载,但就以学习为目的来说读者有必要学习自己制作一个交叉编译工具链。本章通过具体的实例讲述基于ARM的嵌入式Linux交叉编译工具链的制作过程。
构建交叉编译器的第一个步骤就是确定目标平台。在GNU系统中,每个目标平台都有一个明确的格式,这些信息用于在构建过程中识别要使用的不同工具的正确版本。因此,当在一个特定目标机下运行GCC时,GCC便在目录路径中查找包含该目标规范的应用程式路径。GNU的目标规范格式为CPU-PLATFORM-OS。例如x86/i386 目标机名为i686-pc-linux-gnu。本章的目的是讲述建立基于ARM平台的交叉工具链,所以目标平台名为arm-linux-gnu。
通常构建交叉工具链有3种方法。
方法一  分步编译和安装交叉编译工具链所需要的库和原始码,最终生成交叉编译工具链。该方法相对比较困难,适合


相关文档:

很久没用过Linux了……

  很久没用过Linux了……
  曾今断断续续的使用过一段时间Ubuntu,但最终没能修成正果。(很多深层次的未能掌握)
  最近在网上看见Ubuntu 9.10的报道,便再次安装了Ubuntu,打算用业余时间,认真的摸索摸索Linux。对于Linux与Windows的孰好孰坏,不能一概而论,都有对方只得借鉴的地方。所以不能觉得L ......

linux下快速安装apache+php+mysql

 (1)、yum安装mysql
//yum安装
yum -y install mysql mysql_server
//在服务清单中添加mysql服务
chkconfig --add mysqld
//服务启动
service mysqld start
//初始化mysql数据库
/usr/bin/mysql_secure_installation
(2)、安装apache
yum -y install httpd
service httpd start
添加iptables允许访 ......

linux 下c++及mysql对时间处理的常用技巧

mysql 截取某一个时间(datetime类型)的日期:
方法1:select date(row_name) from table_name where row = row1;
方法2:select left(row_name, 10) from table_name where row = row1;
方法3:select cast(row_name as char[10]) from table_name where row = row1;
取得某个日期的time_t数值:select unix_times ......

2009年:Linux上网本热度回升

 




<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->

           Linux
上网本能用吗?对此问题,一般人都要打个问号。但是,事实究竟怎样?
 
    2008
年年末和
2009
年年初,
Linux
上 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号