构建ARM Linux交叉编译工具链
2.2 构建ARM Linux交叉编译工具链
构建交叉编译器的第一个步骤就是确定目标平台。在GNU系统中,每个目标平台都有一个明确的格式,这些信息用于在构建过程中识别要使用的不同工具的正确版本。因此,当在一个特定目标机下运行GCC时,GCC便在目录路径中查找包含该目标规范的应用程序路径。GNU的目标规范格式为CPU-PLATFORM-OS。例如x86/i386 目标机名为i686-pc-linux-gnu。本章的目的是讲述建立基于ARM平台的交叉工具链,所以目标平台名为arm-linux-gnu。
通常构建交叉工具链有3种方法。
方法一 分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。如果只是想使用交叉工具链,建议使用方法二或方法三构建交叉工具链。
方法二 通过Crosstool脚本工具来实现一次编译生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。
方法三 直接通过网上(ftp.arm.kernel.org.uk)下载已经制作好的交叉编译工具链。该方法的优点不用多说,当然是简单省事,但与此同时该方法有一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同时也许会在使用时出现许多莫名的错误,建议读者慎用此方法。
为了让读者真正的学习交叉编译工具链的构建,下面将重点详细地介绍前两种构建ARM Linux交叉编译工具链的方法。
2.2.1 分步构建交叉编译链
分步构建,顾名思义就是一步一步地建立交叉编译链,不同于2.2.2节中讲述的Crosstool脚本工具一次编译生成的方法,该方法适合那些希望深入学习了解构建交叉编译工具链的读者。该方法相对来说难度较大,通常情况下困难重重,犹如唐僧西天取经,不过本文会尽可能详细地介绍构建的每一个步骤,读者完全可以根据本节的内容自己独立实践,构建自己的交叉工具链。该过程所需的时间较长,希望读者有较强的耐心和毅力去学习和实践它,通过实践可以使读者更加清楚交叉编译器的构建过程以及各个工具包的作用。该方法所需资源如表2.1所示。
表2.1 所需资源
安装包
下载地址
安装包
下载地址
linux-2.6.10.tar.gz
ftp.kernel.org
glibc-2.3.2.tar.gz
ftp.gnu.org
binutils-2.15.tar.bz2
ftp.gnu.org
glibc-linuxthreads-2.3.2.tar.gz
ftp.gnu
相关文档:
A) Shutdown management node and data node
devmysql3# ndb_mgm -e shutdown
devmysql4# ndb_mgm -e shutdown
B) Shutdown MySQL proccess
devmysql3# mysqladmin shutdown
devmysql4# mysqladmin shutdown
devmysql3 ip: 10.130.30.217
devmysql4 ip: 10.130.30.218
rpm -ivh MySQL-Cluster-gpl-storage ......
Linux中定时器的算法实现
定时器的作用
定时器在操作系统中起到了举足轻重的作用。在做IO操作时,需要超时机制保证任务不处于无休止的等待状态;在延时处理时,可以通过“闹表”进行相对准点的唤醒操作。在多任务操作系统中,定时器是一种非常常用的资源。
对于熟悉硬件 ......
调试代码的难度是首次编写这些代码的两倍,因此,如果你在编写代码时就已经发挥了全部的聪
明才智,那么按照常理,你将无法凭借自己的智慧去调试这些代码。
......
本文来自:Linux教程 -- http://doc.linuxpk.com/53295.html
如有不明白之处,欢迎参加社区讨论
1.Linux“线程”
笔者曾经在《基于嵌入式操作系统VxWorks的多任务并发程序设计》(《软件报》2006年第5~12期)中详细叙述了进程和线程的区别,并曾经说明Linux是一种“多进程单线程”的操作系统。 ......
本文作者:Heliode
翻译人员:Jonah.Simon,
校对人员:lyreopera
“那我该用什么来备份我的系统呢?”也许你会问。小事一桩,就像你备份或压缩一个别的文件一样,TAR。不像Windows,Linux不限制根用户存取任何东西,因此,你完全可以把一个分区 ......