预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

华清远见——嵌入式培训专家http://www.farsight.com.cnQQ:313638714 http://shop.embedu.cn “黑色经典”系列之《嵌入式Linux应用程序开发详解》 第5章嵌入式Linux开发环境的搭建 本章目标 在了解了嵌入式开发的基本概念之后,本章主要学习如何搭建嵌入式Linux开发的环境, 通过本章的学习,读者能够掌握以下内容。 掌握嵌入式交叉编译环境的搭建 掌握嵌入式主机通信环境的配置 学会制作交叉编译工具链 学会配置Linux下的minicom和Windows下的超级终端 学会在Linux下和Windows下配置TFTP服务 学会配置NFS服务 学会编译Linux内核 学会搭建Linux的根文件系统 熟悉嵌入式Linux的内核相关代码的分布情况 掌握Bootloader的原理 了解U-Boot的代码结构和编译方法 华清远见<嵌入式Linux应用开发班>培训教材 华清远见——嵌入式培训专家http://www.farsight.com.cnQQ:313638714 http://shop.embedu.cn 5.1嵌入式开发环境的搭建 5.1.1嵌入式交叉编译环境的搭建 交叉编译的概念在第4章中已经详细讲述过,搭建交叉编译环境是嵌入式开发的第一步, 也是必备一步。搭建交叉编译环境的方法很多,不同的体系结构、不同的操作内容甚至是不 同版本的内核,都会用到不同的交叉编译器,而且,有些交叉编译器经常会有部分的BUG, 这都会导致最后的代码无法正常地运行。因此,选择合适的交叉编译器对于嵌入式开发是非 常重要的。 交叉编译器完整的安装一般涉及到多个软件的安装(读者可以从ftp://gcc.gnu.org/pub/下 载),包括binutils、gcc、glibc等软件。其中,binutils主要用于生成一些辅助工具,如objdump、 as、ld等;gcc是用来生成交叉编译器,主要生成arm-linux-gcc交叉编译工具(应该说,生 成此工具后已经搭建起了交叉编译环境,可以编译Linux内核了,但由于没有提供标准用户 函数库,用户程序还无法编译);glibc主要是提供用户程序所使用的一些基本的函数库。这 样,交叉编译环境就完全搭建起来了。 上面所述的搭建交叉编译环境比较复杂,很多步骤都涉及到对硬件平台的选择。因此, 现在提供开发板的公司一般会在附赠的光盘中提供该公司测试通过的交叉编译器,而且很多 公司把以上安装步骤全部写入脚本文件或者以发行包的形式提供,这样就大大方便了用户的 使用。如优龙的开发光盘里就随带了2.95.3和3.3.2两个版本的交叉编译器,其中前一个版本 是用于编译Linux2.4内核的,而后一个版本是用于编译Linux2.6版本内核的。由于这是厂商 测试通过的编译器,因此可靠性会比较高,而且与开发板能够很好地吻合。所以推荐初学者 直接使用厂商提供的编译器。当然,由于时间滞后的原因,这个编译器往往不是最新版本的, 若需要更新时希望读者另外查找相关资料学习。本书就以优龙自带的cross-3.3.2为例进行讲 解(具体的名称不同厂商可能会有区别)。 安装交叉编译器的具体步骤在第2章的实验二中已经进行了详细地讲解了,在此仅回忆 关键步骤,对于细节请读者参见第2章的实验二。 在/usr/local/arm下解压cross-3.3.2.bar.bz2。 [root@localhostarm]#tar–jxvfcross-3.3.2.bar.bz2 [root@localhostarm]#ls 3.3.2cross-3.3.2.tar.bz2 [root@localhostarm]#cd./3.3.2 [root@localhostarm]#ls arm-linuxbinetcincludeinfoliblibexecmansbinshareVERSIONS [root@localhostbin]#whicharm-linux* /usr/local/arm/3.3.2/bin/arm-linux-addr2line /usr/local/arm/3.3.2/bin/arm-linux-ar /usr/local/arm/3.3.2/bin/arm-linux-as 华清远见<嵌入式Linux应用开发班>培训教材 《嵌入式Linux应用程序开发详解》——第5章、嵌入式Linux开发环境的搭建QQ:313638714 http://shop.embedu.cn /usr/local/arm/3.3.2/bin/arm-linux-c++ /usr/local/arm/3.3.2/bin/arm-linux-c++filt /usr/lo