第四章嵌入式Linux开发环境的搭建_第1页
第四章嵌入式Linux开发环境的搭建_第2页
第四章嵌入式Linux开发环境的搭建_第3页
第四章嵌入式Linux开发环境的搭建_第4页
第四章嵌入式Linux开发环境的搭建_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章嵌入式Linux开发环境的搭建第一页,共六十八页。本章目标了解主机系统引导、登录及退出Linux掌握配置Linux下的minicom和windows下的超级终端掌握嵌入式交叉编译环境的搭建掌握配置NFS服务掌握主机、目标板的通信配置第二页,共六十八页。一、主机系统引导、登录及退出Linux1系统引导引导过程(boot

process),也称启动过程,指的是从主机(如PC机)电源开关闭合或者在加电状态按下RESET键以后,到内核获得控制权这一段时间。第三页,共六十八页。计算机内部运行过程,主要包括:⑴①PC机内部有一片ROM存储区,存储了BIOS(Basic

Input

Output

System,基本输入输出系统),加电或RESET后,CPU把第一条可执行指令的物理地址设置为0xFFFF0,即指向BIOS的入口地址;②CPU执行BIOS中的程序,对底层硬件、接口和设备进行测试及初始化,例如对中断控制器、DMA控制器、串行端口等等进行测试和初始化;③运行的BIOS中的程序,从指定的引导盘上将一个引导扇区的内容装入内存。第四页,共六十八页。⑵BIOS将程序执行权移交给刚刚从引导扇区装入内存的这段程序,由这段程序,将硬盘上的Linux内核代码压缩包装入内存。⑶为了节省存储空间,通常Linux内核代码是经过压缩的,并且在压缩包的头部有一小段程序是未经压缩的可执行代码,这段程序的功能是对Linux压缩包中的内核代码解压缩。⑷程序执行权移交给解压缩代码,由它解压缩并分配内存空间、填充解压缩后的代码。解压缩完成后,执行权转移到内核代码入口处。系统引导是由两部分程序共同配合完成的,BIOS将引导扇区内容读入内存,由引导扇区读入内存的这段代码再把内核装入内存。

内核代码开始执行表示引导过程结束。内核要进行初始化,初始化任务依不同的硬件和不同的Linux版本而有所不同。第五页,共六十八页。2登录Linux第六页,共六十八页。3

Linux的终端Linux必须使用的终端设备(包括控制台等),是借助于与主机连接的显示器、键盘、鼠标和终端仿真程序或终端应用程序来实现的,一般把它们称为虚拟终端或伪终端(pseudo

terminal),简称终端。在图形桌面环境,鼠标点击“红帽子”,选择“终端”,就可以打开一个虚拟终端,打开虚拟终端的同时,系统为使用该终端的用户启动一种shell。第七页,共六十八页。图2.3虚拟终端窗口(a)第八页,共六十八页。图2.3虚拟终端窗口(b)第九页,共六十八页。一个root用户打开的两个虚拟终端窗口。用鼠标点击哪一个窗口,这个窗口对应的虚拟终端就被激活。第十页,共六十八页。①可以用tty命令,查询当前激活窗口使用的是哪个终端:[root@localhost

~]#

tty/dev/pts/3上述显示的pts是pseudo

terminal

slave的缩写,意思为:从伪终端,是众多伪终端类型中的一种;显示的3表示第3个从伪终端。第十一页,共六十八页。字符界面命令提示符12主提示符[登录用户@主机名工作目录]辅助提示符root用户(管理员)登陆后,该提示符为“#”其他普通用户登陆后,该提示符为“$”[root@localhost

~]#[teacher@localhost

~]$第十二页,共六十八页。②用echo命令,可以查询使用的终端类型:[root@localhost

~]#echo

$TERM

Xterm上述显示的Xterm,表示是一个基于X-WindowSystem的标准虚拟终端。③通过cat命令查询主机上Linux支持哪些种类的终端:[root@localhost

~]#

cat

/proc/tty/drivers④在/dev目录下,用ls命令查询串行端口能够连接多少个终端:[root@localhost

dev]#

ls

/dev/ttyS*

-l第十三页,共六十八页。4查看及修改用户使用的shell用户登录后,打开一个终端时,系统启动该用户使用的shell,关闭这个终端时,终止这个shell的运行。①查看使用的shell[root@localhost

dev]#

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@localhost

bin]#

ls

*shbash

csh

ksh

sh

tcsh

zsh第十五页,共六十八页。5通过退出与shell的会话退出Linux(1)在普通PC机或笔记本电脑上,可以使用exit命令

退出shell,退出后系统关闭了该用户登录后已经打开的窗口。(2)在GUI桌面环境下,也可以用鼠标关闭窗口退出;或者单击鼠标右键,在随后出现的菜单中,选择关闭会话菜单条,退出第十六页,共六十八页。6关闭运行的Linux系统退出命令有shutdown、halt、poweroff、reboot等。shutdown最为常用,它使用系统提供的脚本,执行正确的关闭步骤;halt一般会立即关闭系统,不像shutdown命令退出时执行那么多关闭步骤,这可能会引起文件系统同步的问题。poweroff通过切断电源来关闭系统;reboot将先退出然后重新启动系统。第十七页,共六十八页。关机及重启命令重启shutdown

-r

nowshutdown-r

+15“警告:系统将于15分钟后重启”

reboot关机shutdown

-h

nowhalthalt

-p18第十八页,共六十八页。·

使用VMWare虚拟机,可以用鼠标点击桌面窗口右上角的关闭窗口图标,关闭运行的Linux,之后系统会提示Suspend(挂起)还是Power

Off(断电)。通常可以选择挂起,这样在下一次从虚拟机中启动Linux时,启动时间比较短。第十九页,共六十八页。·

选择挂起(suspend)后,终止了Linux运行的同时,也关闭了虚拟机窗口,结束了虚拟机运行。下次要运行Linux时,需要双击Windows桌面虚拟机图标,然后在虚拟机窗口选择Resume

this

virtualmachine(恢复虚拟机)。·

选择断电(power

off)后,在虚拟机中模拟单独运行Linux时的断电操作。下次要运行Linux时,双击Windows桌面虚拟机图标,选择power

on。第二十页,共六十八页。7使用帮助命令help和man(1)

help命令①输入help命令后,终端上将显示用户现在使用的

shell内部定义的全部命令②如果要查找某一条命令的具体含义,例如[root@localhost

~]#

help

pwd[root@localhost

~]#

help

ls第二十一页,共六十八页。(2)用ls命令查找shell之外的命令除了shell内部定义的那些命令之外,其余命令对应的可执行文件,一般都可以在子目录/bin和/sbin中找到。可以使用命令ls/bin或者ls/sbin去查找,以下是2条命令及部分显示输出:[root@localhost

~]#

ls

/bin[root@localhost

~]#

ls

/sbin第二十二页,共六十八页。(3)man命令Linux带有联机帮助功能,它的帮助文件称为联机帮助页(man

pages),要想找某一个命令的详细信息,比如ls命令,只要在命令行输入man后跟随空格及ls,然后回车就可以了。[root@localhost

~]#

man

ls第二十三页,共六十八页。二、超级终端和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并回车,显示的内容如图所示,选择

serial

port

setup,回车。第三十页,共六十八页。minicom仿真终端设置窗口第三十一页,共六十八页。②然后按下A键,将对应参数设置为/dev/ttyS0并回车;按下E键,按下I键,将对应参数设置为115200

8N1,回车;按下F键,将对应参数设置为No;设置参数如图所示,然后回车保存参数,选择save

setup

as

df1。选择择EExxiitt退退出出。。③保存参数后,④重启终端,输入minicom回车第三十二页,共六十八页。3、目标板加电或RESET显示信息举例⑴目标板只加载bootloader主机运行minicom程序后,目标板加电或按下RESET键,目标板首先

示如下信息,见图运运行行的的装装载载引引导导程程序序,,在在主主机机mmiinniiccoomm窗窗口口显显22..1144。。第三十三页,共六十八页。⑵目标板由bootloader自动引导Linux在目标板加电或RESET后,如果主机键盘不按下任何键,目标板的u-boot会自动将Linux装入内存并运行,在主机minicom终端显示内容如图2.15所示。第三十四页,共六十八页。4、在虚拟机中增添串口设备

如果minicom程序设置参数后,目标板加电或RESET后,该窗口不显示目标板启动信息,那么要检查串口电缆连接是否正确、连接的端口是否正确、minicom程序参数设置是否正确。

在使用minicom程序时,要把Windows的超级终端程序关闭掉,不允许一个在前台、另一个在后台运行。

还有一种可能,就是虚拟机安装后的默认设置中不包含串口,当用户第一次安装虚拟机和Linux后,要在虚拟机中添加串口设备。第三十五页,共六十八页。添加串口的步骤如下:(1)如果正在运行虚拟机、Linux,这时要添加串口设备,则必须先用power

off方式退出虚拟机,而不能用suspend(挂起)方式退出,见图2.17。用power

off方式退出,其实并不是真正切断了PC机的电源,只是模拟切断电源退出的一种方式。第三十六页,共六十八页。(2)然后再次启动虚拟机,点击“VM”,选择

“settings”,见图2.18。第三十七页,共六十八页。(3)点击Add按钮。第三十八页,共六十八页。(4)选择“Serial

Port”点击“Next”按钮。第三十九页,共六十八页。(5)然后在出现的各个对话框中,依次点击“Next”、

“Finish”,则在虚拟机中添加了串行端口,如图所示。第四十页,共六十八页。(6)继续启动虚拟机,选择“Power

on

thisvirtual

machine”,直到启动Linux后,可以检查

minicom与主机串口通信是否正常。第四十一页,共六十八页。三、嵌入式交叉编译环境的搭建交交叉叉编编译译::就就是是在在一一个个平平台台上上生生成成可可以以在在另另一一个个平平台台上上执执行行的的代代码码。。编编译译最最主主要要的的工工作作就就是是将将程程序序转转化化成成运运行行该该程程序序的的ccppuu所所能能识识别别的的机机器器代代码码。。交交叉叉编编译译器器完完整整的的安安装装一一般般涉涉及及到到多多个个软软件件的的安安装装,,包包括括bbiinnuuttiillss、、ggcccc、、gglliibbcc等等软软件件;;下下载载地地址址::第四十二页,共六十八页。器编译器的安装举例⒈⒈将将交交叉叉编编译译器器拷拷贝贝到到//uussrr//llooccaall子子目目录录启启动动虚虚拟拟机机、、运运行行LLiinnuuxx后后,,查查找找并并选选择择交交叉叉编编译译

aarrmm--22000077qq33--5511--aarrmm--nnoonnee--lliinnuuxx--ggnnuueeaabbii--

ii668866..ttaarr..bbzz,,选选择择复复制制菜菜单单条条,,如如图图33..11所所示示。。第四十三页,共六十八页。然后在Linux图形桌面环境,在/usr/local子目录,点击鼠鼠标标右右键键,,选选择择““粘粘贴贴11个个UURRLL””,,交交叉叉编编译译器器将将会会粘粘贴贴到到该该子子目目录录,,如如图图33..22所所示示。第四十四页,共六十八页。⒊建立/usr/local/arm子目录并解压缩交叉编译器在Linux终端窗口输入如下命令,将建立/usr/local/arm子目录,然后将交叉编译器解压缩到该子目录下。要求启动Linux时,以root用户名登录。[root@localhost

local]#

mkdir

/usr/local/arm[root@localhost

local]#

tar

xvjf

arm-2007q3-51-arm-none-linux-gnueabi-i686.tar.bz

-C

/usr/local/arm第四十五页,共六十八页。解压缩后的代码分6个子目录保存,可以用如下命令查看。[root@localhost

local]#

cd

/usr/local/arm[root@localhost

arm]#ls-l总计8drwxr-xr-x

8

root

root

4096

12-25

10:30

arm-2007q3[root@localhost

arm]#[root@localhost

arm]#cd

arm-2007q3[root@localhost

arm-2007q3]#ls-l

总计

48第四十六页,共六十八页。drwxrwxr-x

6

root

root

4096

2007-09-28

arm-none-linux-gnueabidrwxr-xr-x

2

root

root

4096

2007-09-28

bindrwxrwxr-x

2

root

root

4096

2007-09-28

includedrwxrwxr-x

3

root

root

4096

2007-09-28

libdrwxrwxr-x

4

root

root

4096

2007-09-28

libexecdrwxrwxr-x

3

root

root

4096

2007-09-28

share第四十七页,共六十八页。4对查找工具链的路径变量进行修改安装了交叉编译器后,需要修改/root/.bashrc文件内容,应该在这个文件中增加一行语句,指出交叉编

译器所在的路径。之后每当打开终端窗口时,Linux自动运行/root/.bashrc文件,给出缺省路径名的交叉编译器的查找路径。第四十八页,共六十八页。(1)在/root/.bashrc文件中增加语句可以用如下命令检查原来的路径变量值:[root@localhost

local]#

echo

$PATH/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lo

sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/uR6/bin:/root/bin然后用vi增加一行语句:[root@localhost

local]#

vi

/root/.bashrcexport

PATH=/usr/local/arm/arm2007q3/bin:$PATH第四十九页,共六十八页。(2)重启/root/.bashrc文件可以使用source命令重启/root/.bashrc文件,然后系统才能修改查找路径:[root@localhost

~]#

source

/root/.bashrc如果不使用source命令重启文件,也可以用exit命令关闭终端窗口,然后再次打开终端窗口,打开终端窗口过程中系统会自动启动/root/.bashrc文件。第五十页,共六十八页。(3)检查新的路径变量值用echo命令可以检查新的路径变量值:

[root@localhost

~]#echo

$PATH/usr/local/arm/arm-2007q3/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/loc

al/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:sr/X11R6/bin:/root/bin第五十一页,共六十八页。四主机Linux环境网络配置1主机Linux环境IP地址设置(1)主机Linux环境IP地址设置简介主机Linux环境IP地址,应该与目标板Linux的IP地址4个分组中的前3组完全相同,只允许最后一组不同。例如,目标板Linux的IP地址如果为192.168.1.9,那么主机

IP地址前3组必须设置为192.168.1,最后一组可以是

1~253中的一个数字。第五十二页,共六十八页。⒉主机Linux环境IP地址设置方法常用的方法有两种:(1)一种是根据目标板LinuxIP地址,设置主机

Linux

IP地址。这种方法需要先查询目标板LinuxIP地址,如果目标板还没有设置过IP地址,应该先进行设置。(2)另一种是保留主机Linux

IP地址不变,根据这个地址设置目标板的IP地址。第五十三页,共六十八页。⒊目标板IP地址配置、检查(1)如果目标板LinuxIP地址还没有配置,那么在

minicom窗口输入ifconfig命令之后,没有任何输出信息:root@Techv_OMAP35xx:~#

ifconfigroot@Techv_OMAP35xx:~#(2)对目标板Linux

IP地址进行配置,假定配置为192.168.1.9,输入命令和参数,回车后显示:root@Techv_OMAP35xx:~#

ifconfig

eth0

192.168.1.9root@Techv_OMAP35xx:~#

ifconfig配置的目标板LinuxIP地址,没有保留在目标板的外部存储器。目标板关机或RESET后丢失,下一次使用还需要重新配置。第五十四页,共六十八页。⒋主机Linux

IP地址配置、检查在主机终端窗口,输入ifconfigeth0192.168.1.5,将IP地址配置为192.168.1.5。[root@localhost

~]#

ifconfig

eth0

192.168.1.5然后用ifconfig命令检查配置的参数:[root@localhost~]#

ifconfig主机LinuxIP地址配置后的值,保存到外设,主机Linux在虚拟机中用挂起方式退出、关机后,再次启动仍保留以前配置过的值,直到下一次配置新的地址为止。如果主机Linux在虚拟机中以poweroff方式退出,再次以poweron方式启动运行Linux后,保存的IP地址丢失,需要重新配置。第五十五页,共六十八页。五、主机Linux环境网络防火墙设置(1)在主机Linux终端窗口,输入setup命令并回车,然后后在在弹弹出出的的菜菜单单中中选选择择““防防火火墙墙配配置置((FFiirreewwaallllccoonnffiigguurraattiioonn))””见见图图33..44,,回回车车。。第五十六页,共六十八页。(2)在弹出的界面中用光标移动键选择“禁用”防

火墙,选择“确定”后回车,退出设置,见图3.5。第五十七页,共六十八页。(2)另一种设置方法是:在主机Linux图形桌面,点击

“红帽子”→“安全级别和防火墙”,在弹出的窗口选择禁用防火墙,如图3.6所示。第五十八页,共六十八页。六、主机与目标板网络通信测试⒈在主机终端窗口用命令测试主机与目标板的通信在主机Linux终端,输入ping命令,后跟目标板IP地址,例如:[root@localhost/]#ping

192.168.1.9可以用Ctrl+c键去终止ping命令。⒉在目标板终端窗口用命令测试目标板与主机的通信在目标板终端窗口(输入minicom后的窗口),输入ping命令,后面跟随主机IP地址,例如:root@Techv_OMAP35xx:~#

ping

192.168.1.5第五十九页,共六十八页。⒊ping命令测试提示的错误信息如果网络不通,系统会产生Unreachable(不可到达)提示信息,这时要检查:

网络防火墙设置是否正确,因为防火墙不允许ICMP流量通过;网口电缆与接口是否正确连接;ping命令中的IP地址是否为正确地址;测试命令和IP地址是否在正确的终端窗口输入。第六十页,共六十八页。七、主机Linux环境NFS设置⒈NFS简述NFS(Network,网络文件系统)协议,允许在一组通

过网络互联的计算机中,计算机A的某个存储位置(导出),能够被计算机B使用。NFS协议通过网口的连接,把主机导出目录的文件,连接到目标板的指定目录,目标板可以像使用本地文件一样,使用这些文件。第六十一页,共六十八页。⒉主机NFS设置⑴选择NFS服务一种服同设设置置方方法法是是,,选选择择::红红帽帽子子→→服服务务,,在在弹弹出出的的务务窗窗口口用用光光标标选选择择nnffss服服务务,,见见图图33..77。。时还还要要选选择择去去掉掉iippttaabblleess服服务务。。然然后后关关闭闭该该窗窗口口。。第六十二页,共六十八页。另一种设置方法是,在主机终端窗口,输入setup命令,在弹出的窗口中选择“系统服务”并回车,然后用光标键上、下移动,用空格键选中

nfs服务,见图3.8,然后去掉iptables服务,最后用F12键退出。第六十三页,共六十八页。⑵设置主机NFS导出目录及读写权限除了要设置主机Linux允许NFS服务外,还要指定主机的哪些目录作为

NFS区域,即导出目录,同时要指定该目录允许的读写权限。设置方法是用vi编辑器打开/etc/exports文件:[root@localhost

~]#

vi

/etc/exports将其内容修改为://home/nfs1*(rw)*(rw)然后保存、退出。第六十四页,共六十八页。⒊启

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论