您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第四章嵌入式Linux开发环境的搭建
第四章嵌入式Linux开发环境的搭建本章目标了解主机系统引导、登录及退出Linux掌握配置Linux下的minicom和windows下的超级终端掌握嵌入式交叉编译环境的搭建掌握配置NFS服务掌握主机、目标板的通信配置一、主机系统引导、登录及退出Linux1系统引导引导过程(bootprocess),也称启动过程,指的是从主机(如PC机)电源开关闭合或者在加电状态按下RESET键以后,到内核获得控制权这一段时间。计算机内部运行过程,主要包括:⑴①PC机内部有一片ROM存储区,存储了BIOS(BasicInputOutputSystem,基本输入输出系统),加电或RESET后,CPU把第一条可执行指令的物理地址设置为0xFFFF0,即指向BIOS的入口地址;②CPU执行BIOS中的程序,对底层硬件、接口和设备进行测试及初始化,例如对中断控制器、DMA控制器、串行端口等等进行测试和初始化;③运行的BIOS中的程序,从指定的引导盘上将一个引导扇区的内容装入内存。⑵BIOS将程序执行权移交给刚刚从引导扇区装入内存的这段程序,由这段程序,将硬盘上的Linux内核代码压缩包装入内存。⑶为了节省存储空间,通常Linux内核代码是经过压缩的,并且在压缩包的头部有一小段程序是未经压缩的可执行代码,这段程序的功能是对Linux压缩包中的内核代码解压缩。⑷程序执行权移交给解压缩代码,由它解压缩并分配内存空间、填充解压缩后的代码。解压缩完成后,执行权转移到内核代码入口处。系统引导是由两部分程序共同配合完成的,BIOS将引导扇区内容读入内存,由引导扇区读入内存的这段代码再把内核装入内存。内核代码开始执行表示引导过程结束。内核要进行初始化,初始化任务依不同的硬件和不同的Linux版本而有所不同。2登录Linux3Linux的终端Linux必须使用的终端设备(包括控制台等),是借助于与主机连接的显示器、键盘、鼠标和终端仿真程序或终端应用程序来实现的,一般把它们称为虚拟终端或伪终端(pseudoterminal),简称终端。在图形桌面环境,鼠标点击“红帽子”,选择“终端”,就可以打开一个虚拟终端,打开虚拟终端的同时,系统为使用该终端的用户启动一种shell。图2.3虚拟终端窗口(a)图2.3虚拟终端窗口(b)一个root用户打开的两个虚拟终端窗口。用鼠标点击哪一个窗口,这个窗口对应的虚拟终端就被激活。①可以用tty命令,查询当前激活窗口使用的是哪个终端:[root@localhost~]#tty/dev/pts/3上述显示的pts是pseudoterminalslave的缩写,意思为:从伪终端,是众多伪终端类型中的一种;显示的3表示第3个从伪终端。字符界面命令提示符主提示符[登录用户@主机名工作目录]辅助提示符root用户(管理员)登陆后,该提示符为“#”其他普通用户登陆后,该提示符为“$”12[root@localhost~]#[teacher@localhost~]$②用echo命令,可以查询使用的终端类型:[root@localhost~]#echo$TERMXterm上述显示的Xterm,表示是一个基于X-WindowSystem的标准虚拟终端。③通过cat命令查询主机上Linux支持哪些种类的终端:[root@localhost~]#cat/proc/tty/drivers④在/dev目录下,用ls命令查询串行端口能够连接多少个终端:[root@localhostdev]#ls/dev/ttyS*-l4查看及修改用户使用的shell用户登录后,打开一个终端时,系统启动该用户使用的shell,关闭这个终端时,终止这个shell的运行。①查看使用的shell[root@localhostdev]#ps-e②临时改用另一种shell[root@localhost~]#tty/dev/pts/3[root@localhost~]#shsh-3.1#sh-3.1#ps–esh-3.1#exitexit[root@localhost~]#tty/dev/pts/3[root@localhost~]#ps-e③不同种类shell对应的可执行文件,一般都存储在/bin目录下,如果在命令行只输入shell名,比如csh,却不能启动csh,那么应该在shell名前加上路径名,例如/bin/csh。也可以用以下命令,查找系统中已经安装了哪些shell:[root@localhost~]#cd/bin[root@localhostbin]#ls*shbashcshkshshtcshzsh5通过退出与shell的会话退出Linux(1)在普通PC机或笔记本电脑上,可以使用exit命令退出shell,退出后系统关闭了该用户登录后已经打开的窗口。(2)在GUI桌面环境下,也可以用鼠标关闭窗口退出;或者单击鼠标右键,在随后出现的菜单中,选择关闭会话菜单条,退出6关闭运行的Linux系统退出命令有shutdown、halt、poweroff、reboot等。shutdown最为常用,它使用系统提供的脚本,执行正确的关闭步骤;halt一般会立即关闭系统,不像shutdown命令退出时执行那么多关闭步骤,这可能会引起文件系统同步的问题。poweroff通过切断电源来关闭系统;reboot将先退出然后重新启动系统。关机及重启命令重启shutdown-rnowshutdown-r+15“警告:系统将于15分钟后重启”reboot关机shutdown-hnowhalthalt-p18使用VMWare虚拟机,可以用鼠标点击桌面窗口右上角的关闭窗口图标,关闭运行的Linux,之后系统会提示Suspend(挂起)还是PowerOff(断电)。通常可以选择挂起,这样在下一次从虚拟机中启动Linux时,启动时间比较短。选择挂起(suspend)后,终止了Linux运行的同时,也关闭了虚拟机窗口,结束了虚拟机运行。下次要运行Linux时,需要双击Windows桌面虚拟机图标,然后在虚拟机窗口选择Resumethisvirtualmachine(恢复虚拟机)。选择断电(poweroff)后,在虚拟机中模拟单独运行Linux时的断电操作。下次要运行Linux时,双击Windows桌面虚拟机图标,选择poweron。7使用帮助命令help和man(1)help命令①输入help命令后,终端上将显示用户现在使用的shell内部定义的全部命令②如果要查找某一条命令的具体含义,例如[root@localhost~]#helppwd[root@localhost~]#helpls(2)用ls命令查找shell之外的命令除了shell内部定义的那些命令之外,其余命令对应的可执行文件,一般都可以在子目录/bin和/sbin中找到。可以使用命令ls/bin或者ls/sbin去查找,以下是2条命令及部分显示输出:[root@localhost~]#ls/bin[root@localhost~]#ls/sbin(3)man命令Linux带有联机帮助功能,它的帮助文件称为联机帮助页(manpages),要想找某一个命令的详细信息,比如ls命令,只要在命令行输入man后跟随空格及ls,然后回车就可以了。[root@localhost~]#manls二、超级终端和Minicom配置及使用1、超级终端:(1)Windows下“开始”-”附件”-”通讯”-”超级终端”,在“名称”处可随意输入该连接的名称。(2)在“连接时使用”的方式改为“COM1”,即通过串口1(3)设置串口连接参数。每块开发板的连接参数有可能会有差异,其中的具体数据在开发商提供的用户手册中有说明。比如:远峰的YF2410采用的波特率:115200,数据为8位,无奇偶校验位,停止位1,无硬件流;(4)基本配置完成,“单击”确定,如果把开发板的串口线和PC机相连,在开发板上电后,就会显示超级终端的信息。以后再使用超级终端时,只要启动实例程序就可以了。通过:开始→所有程序→附件→通讯→超级终端→实例程序名,去启动。2主机Linux下的minicom仿真终端(1)minicom仿真终端设置主机Linux环境最常用的一个仿真终端程序是minicom。在第一次使用minicom时,也应该进行设置,再次使用就不需要设置了,设置过程如下:①在Linux图形桌面环境,打开一个终端,在终端窗口输入minicom-s并回车,显示的内容如图所示,选择serialportsetup,回车。minicom仿真终端设置窗口②然后按下A键,将对应参数设置为/dev/ttyS0并回车;按下E键,按下I键,将对应参数设置为1152008N1,回车;按下F键,将对应参数设置为No;设置参数如图所示,然后回车保存参数,选择savesetupasdf1。③保存参数后,选择Exit退出。④重启终端,输入minicom回车3、目标板加电或RESET显示信息举例⑴目标板只加载bootloader主机运行minicom程序后,目标板加电或按下RESET键,目标板首先运行的装载引导程序,在主机minicom窗口显示如下信息,见图2.14。⑵目标板由bootloader自动引导Linux在目标板加电或RESET后,如果主机键盘不按下任何键,目标板的u-boot会自动将Linux装入内存并运行,在主机minicom终端显示内容如图2.15所示。4、在虚拟机中增添串口设备如果minicom程序设置参数后,目标板加电或RESET后,该窗口不显示目标板启动信息,那么要检查串口电缆连接是否正确、连接的端口是否正确、minicom程序参数设置是否正确。在使用minicom程序时,要把Windows的超级终端程序关闭掉,不允许一个在前台、另一个在后台运行。还有一种可能,就是虚拟机安装后的默认设置中不包含串口,当用户第一次安装虚拟机和Linux后,要在虚拟机中添加串口设备。添加串口的步骤如下:(1)如果正在运行虚拟机、Linux,这时要添加串口设备,则必须先用poweroff方式退出虚拟机,而不能用suspend(挂起)方式退出,见图2.17。用poweroff方式退出,其实并不是真正切断了PC机的电源,只是模拟切断电源退出的一种方式。(2)然后再次启动虚拟机,点击“VM”,选择“settings”,见图2.18。(3)点击Add按钮。(4)选择“SerialPort”点击“Next”按钮。(5)然后在出现的各个对话框中,依次点击“Next”、“Finish”,则在虚拟机中添加了串行端口,如图所示。(6)继续启动虚拟机,选择“Poweronthisvirtualmachine”,直到启动Linux后,可以检查minicom与主机串口通信是否正常。三、嵌入式交叉编译环境的搭建交叉编译:就是在一个平台上生成可以在另一个平台上执行的代码。编译最主要的工作就是将程序转化成运行该程序的cpu所能识别的机器代码。交叉编译器完整的安装一般涉及到多个软件的安装,包括binutils、gcc、glibc等软件;下载地址:编译器的安装举例⒈将交叉编译器拷贝到/usr/local子目录启动虚拟机、运行Linux后,查找并选择交叉编译器arm-2007q3-51-arm-none-linux-gnueabi-i686.tar.bz,选择复制菜单条,如图3.1所示。然后在Linux图形桌面环境,在/usr/local子目录,点击鼠标右键,选择“粘贴1个URL”,交叉编译器将会粘贴到该子目录,如图3.2所示。⒊建立/usr/local/arm子目录并解压缩交叉编译器在Linux终端窗口输入如下命令,将建立/usr/local/arm子目录,然后将交叉编译器解压缩到该子目录下。要求启动Linux时,以root用户名登录。[root@localhostlocal]#mkdir/usr/local/arm[root@localhostlocal]#tarxvjfarm-200
本文标题:第四章嵌入式Linux开发环境的搭建
链接地址:https://www.777doc.com/doc-922398 .html