您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 入式学院华清远见旗下品牌wwwembeduorg
嵌入式学院—华清远见旗下品牌:嵌入式学院—华清远见旗下品牌:《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:开发环境的搭建本章目标在了解了嵌入式开发的基本概念之后,本章主要学习如何搭建嵌入式Linux开发的环境,通过本章的学习,读者能够掌握以下内容。掌握嵌入式交叉编译环境的搭建掌握嵌入式主机通信环境的配置学会使用交叉编译工具链学会配置Linux下的minicom和Windows下的超级终端学会在Linux下和Windows下配置TFTP服务学会配置NFS服务学会编译Linux内核学会搭建Linux的根文件系统熟悉嵌入式Linux的内核相关代码的分布情况掌握Bootloader的原理了解U-Boot的代码结构和移植《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:章中已经详细讲述过,搭建交叉编译环境是嵌入式开发的第一步,也是必备的一步。搭建交叉编译环境的方法很多,不同的体系结构、不同的操作内容甚至是不同版本的内核,都会用到不同的交叉编译器,而且,有些交叉编译器经常会有部分的bug,这都会导致最后的代码无法正常地运行。因此,选择合适的交叉编译器对于嵌入式开发是非常重要的。交叉编译器完整的安装一般涉及多个软件的安装(读者可以从下载),包括binutils、gcc、glibc等软件。其中,binutils主要用于生成一些辅助工具,如objdump、as、ld等;gcc是用来生成交叉编译器的,主要生成arm-linux-gcc交叉编译工具(应该说,生成此工具后已经搭建起了交叉编译环境,可以编译Linux内核了,但由于没有提供标准用户函数库,用户程序还无法编译);glibc主要是提供用户程序所使用的一些基本的函数库。这样,交叉编译环境就完全搭建起来了。上面所述的搭建交叉编译环境比较复杂,很多步骤都涉及对硬件平台的选择。因此,现在嵌入式平台提供厂商一般会提供在该平台上测试通过的交叉编译器,而且很多公司把以上安装步骤全部写入脚本文件或者以发行包的形式提供,这样就大大方便了用户的使用。如优龙的FS2410开发光盘里就附带了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]#ls3.3.2cross-3.3.2.tar.bz2[root@localhostarm]#cd./3.3.2[root@localhostarm]#lsarm-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《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:可以看到,在/usr/local/arm/3.3.2/bin/下已经安装了很多交叉编译工具。用户可以查看arm文件夹下的VERSIONS文件,显示如下:Versionsgcc-3.3.2glibc-2.3.2binutils-headToolchainbinutilsconfiguration:../binutils-head/configure…Toolchainglibcconfiguration:../glibc-2.3.2/configure…Toolchaingccconfiguration../gcc-3.3.2/configure…可以看到,这个交叉编译工具确实集成了binutils、gcc、glibc这几个软件,而每个软件也都有比较复杂的配置信息,读者可以查看VERSIONS文件了解相关信息。5.1.2超级终端和minicom配置及使用前文已知,嵌入式系统开发的程序只能在对应的嵌入式硬件平台上运行,那么如何把开发板上的信息显示给开发人员呢?最常用的就是通过串口线输出到宿主机的显示器上,这样,开发人员就可以看到系统的运行情况了。在Windows和Linux中都有不少串口通信软件,可以很方便地对串口进行配置,其中最主要的配置参数是波特率、数据位、停止位、奇偶校验位和数据流控制位等,但是它们一定要根据实际情况《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:进行相应配置。下面介绍Windows中典型的串口通信软件“超级终端”和在Linux下的“minicom”。1.超级终端首先,打开Windows下的“开始”→“附件”→“通讯”→“超级终端”,这时会出现如图5.1所示的新建超级终端界面,在“名称”处可随意输入该连接的名称。图5.1新建超级终端界面接下来,将“连接时使用”的方式改为“COM1”,即通过串口1,如图5.2所示。接下来就到了最关键的一步——设置串口连接参数。要注意,每块开发板的连接参数有可能会有差异,其中的具体数据在开发商提供的用户手册中会有说明。如优龙的这款FS2410采用的是波特率为115200,数据位数为8,无奇偶校验位,停止位数为1,无硬件流控,其对应配置如图5.3所示。图5.2选择连接时使用方式图5.3配置串口相关参数这样,就基本完成了配置,最后一步单击“确定”按钮就可以了。这时,读者可以把开发板的串口线和PC机相连,若配置正确,在开发板上电后,在超级终端的窗口里应能显示类似于图5.4的串口信息。《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:、串口2,如在优龙的开发板上标有“UART1”、“UATR2”否则串口无法打印出信息。2.minicomminicom是Linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利。下面主要讲解如何对minicom进行串口参数的配置。首先在命令行中键入“minicom”,这就启动了minicom软件。minicom在启动时默认会进行初始化配置,如图5.5所示。可以通过“minicom-s”命令进行minicom的配置。图5.5minicom启动注意在minicom的使用中,经常会遇到3个键的操作,如“CTRL-AZ”,这表示先同时按下CTRL和“A”,然后松开这两个键再按下“Z”。正如图5.5中的提示,接下来可键入CTRL-AZ,来查看minicom的帮助,如图5.6所示。按照帮助所示,可键入“O”(代表Configureminicom)来配置minicom的串口参数,当然也可以直接键入“CTRL-AO”来进行配置。如图5.7所示。《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:配置界面在这个配置框中选择“Serialportsetup”子项,进入如图5.8所示的配置界面。图5.8minicom串口属性配置界面上面列出的配置是minicom启动时的默认配置,用户可以通过键入每一项前的大写字母,分别对每一项进行更改。图5.9所示为在“Changewhichsetting”中键入了“A”,此时光标转移到第A项的对应处。《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:中“ttyS0”对应“COM1”,“ttyS1”对应“COM2”。接下来,要对波特率、数据位和停止位进行配置,键入“E”,进入如图5.10所示的配置界面。图5.10minicom波特率等配置界面在该配置界面中,可以键入相应波特率、停止位等对应的字母,即可实现配置,配置完成后按回车键就退出了该配置界面,在上层界面中显示如图5.11所示配置信息,要注意与图5.8进行对比,确定相应参数是否已被重新配置。图5.11minicom配置完成后界面《嵌入式Linux应用程序开发标准教程》——第5章、嵌入式Linux开发环境的搭建嵌入式学院—华清远见旗下品牌:在确认配置正确后,可键入回车返回上级配置界面,并将其保存为默认配置,如图5.12所示。之后,可重新启动minicom使刚才配置生效,在用串口线将宿主机和开发板连接之后,就可在minicom中打印出正确的串口信息,如图5.13所示。图5.12minicom保存配置信息图5.13minicom显示串口信息到此为止,读者已经能将开发板的系统情况通过串口打印到宿主机上了,这样,就能很好地了解硬件的运行状况。小知识通过串口打印信息是一个很常见的手段,很多其他情况如路由器等也是通
本文标题:入式学院华清远见旗下品牌wwwembeduorg
链接地址:https://www.777doc.com/doc-665710 .html