学习方法和培训专用软件课件嵌入式体验入门-mini_第1页
学习方法和培训专用软件课件嵌入式体验入门-mini_第2页
学习方法和培训专用软件课件嵌入式体验入门-mini_第3页
学习方法和培训专用软件课件嵌入式体验入门-mini_第4页
学习方法和培训专用软件课件嵌入式体验入门-mini_第5页
已阅读5页,还剩171页未读 继续免费阅读

下载本文档

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

文档简介

国嵌所的所有,,代均已向中民国家 局了 ,任何印刷,翻录,国 的行为均属违法行为,依法其刑事与经济责任,为了你自己的前途,请。第1章嵌入式系统概 第2章培训班硬件平 第3章嵌入式体 培训 培训 培训 必修实验2-Linux命令详 1成本、体积、功耗有严格要求的计算机系统。 特定的应用程序:earth Nokia可裁剪性好。从嵌人式系统性的特点来看,作为嵌入式系统的供应者,理应提供12期:6 家等重大事务,加之有些嵌入式系统的宿主对象要工作在无人值守的场合,例如性 IT应用领域之一,但同时也是最难以掌BootLoader、BoardSupportPackage(PCBIOS一如果这部分人对硬件原理有较好的掌握,也可以从事BSP和硬件驱动程序开发工作知识可以分为5块,如图1-3所示。 : ARMS编 正解:学定要按计划,由简入深,系统进行。.误区3.只看资料与,就是不动手做。= 库 发流程如图1-7。 2S3C244016/32RISC微处理器,它的出现为手持设备和其他嵌入式应用提供了低价格、低功耗、高性能小型微控制器的解决方案。S3C2440采ARM920T的内核,0.13umCMOS标准宏单元,其低功耗、简单、优越的设计特别适合于对成本、功耗敏感的嵌入式应用领域。ARM920TMMU、AMBA、BUS和Harvard高速缓冲体系结构,为在上流畅运行嵌入式操作系统提供了支持。图2-1是S3C2440的内部结构图,请配合下面列出的主要功能模块和接口特性,理解该的内 TFTAC97器接 下面依次对S3C2440的器控制器、缓冲器、时钟和电源管理及中断控制进行者需要对此进行修改时,请参阅三星公司提供的S3C2440用户手册。(bankbankROMSRAMbank6bank7是大小可变的,用于ROM、SRAM或SDRAM。这里,所有的器bank都具有可编程的操作周期,并且支持掉电时的SDRAM自刷新模式和多种类型的引导ROM。在启动时将被到SDRAM中并执行引导,之后该4KB可以用作其他用途。同时,S3C2440也支持从外部nGCS0NorFlashNorFlash(NotusingNANDflashforbootROM)NorFlash00(Using 注意:从上图可以看出,从NorFlash启动时,0x 以下的个体(memorybanks) 缓存S3C2440是带有指令缓存(16KB)和数据缓存(16KB)的联合缓存装置,一个缓冲区能够保持16字的数据和4个地址。S3C2440PLL(相位锁定环路,用于稳定频率)的MPLL533MHzS3C24404种模式。其中慢速模式为不带PLL的低频时钟模式,空闲模式始终为CPU停止模式,掉电模式为所有设备全3.3V的器独立供电(通常对SDRAM采用3.3V,对移动SDRAM采3.3VI/OS3C2440的电源管理中独立的供电方式和多种模式可以有效地处理系统的不同状态,从而S3C2440包括60个中断源,对外部中断源具有电平/边沿两种触发模式,对紧急的中断可以使用快速中断请求(FIQ。S3C2440的中断处理流程如图2-3所示,图中的(pendingSUBMASKINT_RXD0、INT_TXD0等,“Requestsources(withoutsub–register)”表示无子中断如果被触发的中断中有快中断(FIQ)——MODE(INTMOD寄存器)中为1的位对应的中断,则CPU的FIQ中断函数被调用。注意:FIQ只能分配一个,即INTMOD中对于一般中断IRQ,可能同时有几个中断被触发,未被INTMSK寄存器的中断经过比较后,选出优先级最高的中断,然后CPU调用IRQ中断处理函数。中断处理函数 GQ2440是为国嵌嵌入式精品课程量身打造的一款高性价比ARM9开发板,它采用PCB沉金工艺,通过双排1.27间距的插座将所有资源引出。板走线经过精心的优化, Nor微型板:45mmx板载五线异步串行口(UART0、UART1和UART2;4USBHOST接口;1USBDevice(mini2440是友善之出的一款低价实用的ARM9开发板,它采用SamsungS3C2440性,生产采用机器贴片,批量生产。mini2440的设计源于三星的公版电路smdk2410,并在其基础上做了很多优化。如图2-5所示,可以看到mini2440的整体布局图。 处理器,内存(LCD3.512.11024x7683.512.1(4256K240x320/3.5TFT(512VTFTCCFL背光模块(Inverting)音频网络SD/MMC1个SD/MMC卡接头串口COM32.0mm按键实时时钟134pin2.0mmGPIO第3章嵌入式体验安装文件培训TDO,JTAG大致分两类,一类用于测试的电气特性;一类用于Debug。CPUCPUFLASH,RAM,SOC内置模块的寄存值,RAM不能正常工作,所以必然要失败。要正常使用,必须参照SOCDataSheet的寄存器说明,设置RAM的址,总线宽度,速度等等。在<<嵌入式体验班>>/第1天-嵌入式系统概述/软件资源/H- 图3-4所示的情形:H-JTAG无法识别目标开发板。 点击图标,或者通过下拉菜单【Settings】|【JtagSettings】进行Jtag端口配置。配置方法如图3-5所示: 则要在JtagSelection中选择选择Wiggler这一项。点击图标,或者通过下拉菜单【Operations】|【DetectTarget】检测设备。3-6H-JTAG 点击图标,或者通过下拉菜单【Script】|【InitScript】添加初始化 图3-7所示。 点击图标,或者通过下拉菜单【Flasher】|【StartFlasher】进入如图3-8所 法如图3-9所示。 注意:这里也可以直接通过菜单项【Load】加载开发板提供的后缀为hfc的,通常这些都为你把所有的参数都配置好了。还有一点值得注意,就是如果烧写的是nandflash,记得先选择从nandflash启动,然后在上面的FlashSelection项中选择合适的NANDFLASH,如图3-10所示。 选择Programming项,点击。如果之前两步完成的没问题,就可以正常检测到目标板flash。如图3-11所示。 通过H-JTAG烧写镜像文件。如图3-12和3-13所示,在Type选项中选择inBinaryFormatSrcDstAddr中填入烧写的起始地址。最后点击和进行擦出和烧写。这里我们可以烧写

发板也可能使用不同型号的flash。只有选择合适的型号,才能实现成<<嵌入式体验班>>/第1天-嵌入式系统概述/培训/J-FLASH设置-实验要培训<<嵌入式体验班>>/第1天-嵌入式系统概述/培训/J-FLASH设置-实验要关于J-Link是SEGGER公司为支持仿真ARM内核推出的JTAG仿真器。配合IAREWAR,ADS,KEIL,WINARM,RealViewARM7/ARM9内核的仿真,通过RDI接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,ARM第1//jLinkSetup_JLinkARM_V402d.zipSetup_JLinkARM_V402d.exe进行安J-FLASH烧写软件。如图3-14所示。 打开J-J-FLASH。通过菜单【Options】|【ProjectSettings…】打开工程设置菜 设置属性页TargetJTAGspeedbeforeinit和JTAGspeedafterinit可以设置为Autoselection,为在属性页CPU3-16 标题为【Usefollowinginitsequence】的列表框中,需要设置初始化参数。这些基于S3C2440的参数对于mini2440和TQ2440没有差别。<<嵌入式体验班>>/第1天/软件资源/jLink/Init.txt提供了设置方法。当然,也可以加载开发板 PCUSBJTAGJTAG接口与JLinkJTAG口不同,所以中间还需要一个转接板。接好电源,拨动电源开 菜单【Target】|【Program】烧写镜像这些镜像文件也可以在<<嵌入式体验班>>/第1天/软件资源/bootloader 一样,J-LINK方式烧写flash,在烧写前也需要对相应的SOC寄存器进行初始在ProjectSettings菜单的属性页Flash中,如果勾选Automaticallydetectflash的支持。这时可以参考Flash.csv中已有的项,根据手册手动添加你的/ /<<嵌入式体验班>>/第2天-开发板快乐体验/培训/2440开发板机程序体验<<嵌入式体验班>>/第2天-开发板快乐体验/培训/2440开发板机程序体norflashwindows的【设备管理器】,在【通用串3-24所示。双击这个带有感叹号的设备进入设备属性菜单,如图3-25所示,点击按钮。 设备属选择不连接到WindowsUpdata /USB驱动 windowsxp自带的超级终端。首先通过 输出而不能输入,另外板子工作时的串口波特率是115200,如图所示。: norflasharmvivi的一个操作菜单,当然如果你之前在norflash写的是uboot,这个菜单可能不一样,但是它们提供选项如图3-33所示,是GQ2440armvivi操作菜单选项。 根据菜单上的描述,选择【Download&RunGQ2440armvivi采用的入字符‘d’来选择这一项,如图3-34所示,这时,armvivi阻塞在等待USB的 选择【Download&Run菜单,主要需要配置USB到开发板内存的起始地址,串口则根据需要和所使用的串口进行配置,如图3-35所示。 DNWDNW的标题栏上看到“[USB:OK]”DNW下拉菜单【USBPort】|【Transmit】|【Transmit】在开发板光盘或者<<嵌入式体验班>>/第2天-开发板快乐体验/软件资源/机程序镜像中找到开发板对应的机程序镜像文件,点击【打开】后将自动到开发板。当程序完成后,开发板会自动执行该测试程序,如图3-36所示,可见机测试 通过本实验应该掌握利用开发板uboot或armvivi选项进行机程序并运行的方法,并学会配置和使用超级终端和DNW等常用软件。开发板yaffs培训Qtopia是Trolltech公司为采用嵌入式Linux操作系统的消费电子设备而开发的综合应司被著名的通讯公司Nokia收购。相连,并将armvivi或uboot到开发板的norflash中。3-193-20,对GQ2440开发板直接按下3-18中所示nor启动开关启动,对于mini2440和TQ2440需要将图3-19或3-20中所示的nor/nand选择开关拨GQ2440armvivi为例,首先选择【FromatNandflashthelinux】,即输入字x。 格式化bootloadernandflash3-38所示,选择【DownloadBIOSforPort】|【Transmit】|【Transmit】在开发板光盘或者<<嵌入式体验班>>/第2天-开发板快乐体验/软件资源/Linuxbootloader镜像文件 kernel以及affs格式的rootfs(根文件系统)这三个镜像文件到开发板的按照上一步同样的方法,在超级终端中选择【Downloadlinuxkernel】,即输入字如图3-39所示。 入字符y,然后通过DWN找到yaffs根文件系统的镜像文件(文件名形如root_qtopia.bin)进行,如图3-40所示,这个时间可能比较长。 在三个镜像文件都完成后,就可以启动Linux+QT系统了,通常在开发板提供进入系统后,在超级终端中可以看到Linux令行提示符,如图3-42所示。 Qtopia的桌面系统了3-43Linux+QT系统提供的图形化界面了,如图3-44、3-453-46所示,是运行Qtopia中应用程序的几张截图。 图3- 浏览图3-45音乐 图3-46ubootarmviviLinux+QT系统安装和运行培训<<嵌入式体验班>>/第2天-开发板快乐体验/培训/2440开发板WinCE系统安windows系统的习惯,软件开放的方式也和在PC上开发windows应用程序类似。相连,并将armvivi或uboot到开发板的norflash中。前,一般要格式化nandflash,在开发板的bootloader操作菜单中找到格式化thenandflash】,即输入字符f。 格式化WinCEbootloadernandflash3-48所示,选择【DownloadWinCENboot】,即输入字符n,打开USB软件DNW,通过DNW下拉菜单 wDWNWinCE系统的镜像文件(NKbin)进行3-49 WinCE3-50、3-51、3-52和3-53所示,是运行WinCE中应用程序的几张截图。 WinCE中图3-51WinCE的IE浏览图3-52WinCE中浏 图3-53ubootarmviviLinux+QT系统安装和运行flsNKnandflash(TQ2440nandflashbnandflash启动WinCE<<嵌入式体验班>>/第2天-开发板快乐体验/培训/2440开发板Android系统培训<<嵌入式体验班>>/第2天-开发板快乐体验/培训/2440开发板Android系统安Android是于2007年11月05日宣布的基于Linux平台的开源操作系统以Java作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权,号称是相连,并将armvivi或uboot到开发板的norflash中。norflashnandflash,在开bootloadernandflash3-54所示,首先选择【formatNANDFLASHforLinux】,即输入字符x。 格式化bootloadernandflash3-55所示,选择【Downloadvivi】,即|【Transmit】在开发板光盘或者<<嵌入式体验班>>/第2天-开发板快乐体验/armvivi点击【打开】后将自动并烧写到开发板。 按照上一步同样的方法,在超级终端中选择【Downloadlinuxkernel】,即输入字如图3-56所示。 在三个镜像文件都完成后,就可以启动Android系统了,选择armvivi操作菜单的【bootthesystem3-58b,可以直接启动刚才烧写的系统。或者关机后直接从nandflash启动开发板,开发板也能自动进入到Android系统。进入系统后,在超级终端中可以看到Linux令行提示符。 第一次进入Android系统,需要对开发板的触摸屏进行校准,校准过后就进入到 图3- 音乐 图3-61浏览器及触屏键uboot或armviviAndroid系统安装和运行的结出安装Linux系统的基本流程。<<嵌入式体验班>>/第3天-Linux系统体验/培训/Linux专业级定制安装-实验 背景知识培训LinuxUnix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词LinuxLinuxLinux内核,并且使用GNU工程各种工具和数据库的操作系统。Linux主要作为Linux版的一部分而使用。一个典型的Linux版包括:Linux 打开新建虚拟机向导,如图3-63所示,选择 在接下来的界面中选择,并在Version选项中选择,Next进入下一步,如图3-65所示。 选择给虚拟机分配的内存大小,pc1024MB,根据自己3-68所示。 单击Next进入下一步,选择网络连接方式,选择,即桥接方式,如图3-69所示。 择分配,一般推荐分配为15G 以上,虚拟磁盘划分选择。 为之前设置的虚拟机安装。如图3-71所示。 所示。这时,界面会进入虚拟机的启动状态,会显示找不到操作系统,如图3-73 打开如图3-74的界面。在Device列表框中选择,并在Connect项 ,并通过浏览并选择要安装的RHEL5镜像文件。点击OK确认退出。 Skip3-76RHEL53-77Next进入下一步,选择操作系统入下一步,选择键盘语言,使用默认的”英语式”。如图3-79所示。 所示。之后又会出现询问是否初始化磁盘的框,选择,如图3-81所 图3-82所示,出现确认 框,选择,如图3-83所示。 如图3-84所示。 网络配 时区配 单击“下一步”,进入到软件包选择界面。如图3-88所示,“桌面环境”用默认的 注意:x5(15G)EL5了择右边表中的所项外,还通,进入明 安装完 单击“前进”,进入到配置界面,如图3-92所示。选择禁用,或将“信 注意:这里禁用 安装,直接点击RHEL5就安装成功了,系统重启后会看到如图3-96所示的登录界面。可以输入前面安装过设置了的root账户或者 RHEL5,<<嵌入式体验班>>/第3天-Linux系统体验/培训/Linux命令详解-实验要背景知识培训内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理令是它正常运然后来看看什么是“S”,实际上S是一个命令解释器,它解释由用户输入令并且把它们送到内核。不仅如此,S有自己的编程语言用于对命令的编辑,它允许用户编写由s命令组成的程序,将大量s命令组织成一个文件,达到自动化处理的 (3)文件管理:diff、file、find、ln、locate、mv、rm、touch、cat、od、cp。 root用户登录RHEL5后,打开一个控制台会进入默认的/root(提示符中部分显示为“~”)。在终端使用命令:cd/home/,可以从当前跳到/home下,如图3-97所示。 cd命令,用于切换 命令格式:cd[目的 /根。.。。~。- 通过命令 /home,可以查看到 下文件情况。通过命令:ls- 下包括隐藏文件(linux中的隐藏文件是以文件名”.”开3-99 ls–l显示详细列 ls命令,用于列出 命令格式:ls[选项][文件或 的inode编号 -s或— 通过命令:mkdir/home/workdir,在/home/下创建一个新的文件夹workdir,3-100所示。使用命令:mkdir/home/dir1/dir2,在/home/下创建一个多级/dir1/dir2,如图3-101所示。3-100mkdir3-101mkdir提示提示 mkdir-m属性 。通过命令:cdhome/dir1/dir2dir2,使用命令:pwd,查看当前所在目录的路径,如图3-102所示。3-102pwd使用命令:cd,可以调回原来的/home。现在使用命令:useradd为这个账户设置,如图3-104所示。3-103useradd3-104passwd提示:useradd常用选项: 端的提示符也跟着变化了。再使用命令:surootroot用户,这时会提示3-105suuseradd选项用户名usermod选项属性名[groupdel选项组帐号<id用户名在终端中使用命令:echo“oworld”>test,将字符串”oworld”重定向到文件test,这时/home/下会产生test文件。使用命令:cattest,可以将文件testcat出来,如图3-106所示,可以看出testtmp两个文件的内容是一致的。3-106cat cat命令,用于把文件连接后送到基本输出。命令格式:cat[选项][文件]|[文件列表]。1-n接着上一步,使用命令:cddir1dir1,使用命令:touchf1f2f3,创建f1f2、f3。使用命令:cd,回到/home,通过命令:cprdir1dir,递归的将dir1中包括子一起给dir,如图3-107所示。3-107cp提示 cp命令,用于文件 强行文件 强行文件 注意:touch命令是用于创建新文件最方便 在/home下通过命令:mvtestdirtestdir3-108令:mvtesttest1test文件重命名为test13-109所示。3-108mv3-109mv使用命令:rmdir/test,将刚才/dirtest文件删除。使用命令:lsdir,验证3-110所示。然后使用命令:rmrdirdir及其中所有文件都删除掉,如图3-111所示。3-110rm3-111rm。。 : rm命令于删除。。 通过命令:tarcvfdir1.tarhome/dir1dir1dir1.tar3-112所dir1,再使用命令:tar–xvfdir1.tar,将刚才打包的文件解开,3-113homedir1home,使用命令:lshome/,查看这 就在其中3-112tar3-113tar将dir1 重新移动到home 下,并删除home 下的名为home的子 通过命令:tar–cvzfdir1.tar.gz/home/dir1,将dir1 的所占用的磁盘空间大小,验证使用压缩选项的效果。然后使用命令:tar–xvzfdir1.tar.gz,将刚才打包压缩的文件解压打开,如图3-115所示,可见home下又多出了个 ,使用命令:lshome/,查看这 3-114tar3-115tar tar命令,用于建立,还原备份文件的工具程序,它可以加入和解开备份文-C[目 -C[目 -f备份文件名-t或—du命令,用于显示 命令格式:du[选项][文件或 使用命令:ziprdir1.zipdir1zipdir1dir1.zip3-116所示。再删除原dir1,使用命令:unzipdir1.zip,解压dir1.zip重新在home,下得到dir1,如图3-117所示。3-116zip3-117unzip使用命令:touchtesthometest文件,使用命令:lltest,可如图3-118所示。换一种权限格式,使用命令:od761test,将文件的权图3-118od命3-119注意:在Linux中,文件或权限的控制分别以,写入,执行3种一般权限来区分,再搭配拥有者与所属群组管理权限范围。可以使用od指令去变更文件与的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更, 3-120df提示:df命令,用于显示磁盘的文件系统与使用情形。命令格式:df[选项]。-t文件系统-x文件系统提示:Linux中常见磁盘管理命令汇总:df选项du选项 fdisk[-3-121ifconfigadd地址del地址add地址del地址netmask子网掩码[IP地址3-122netstat提示:netstat命令,用于显示网络状态。跳转到dir1下,通过命令:grep“o”./-rn,可以查找当前及其子目tftp,查找到所有网络端口中用于tftp的端口情况,如图3-124所示。3-123grep3-124grep查找tftp -f范本文件 -f范本文件回到home ,使用命令:find./-name 串开头的文件,如图3-125所示。也可以在home 下使用命令:find./dir 3-125find3-126find提示:find命令,用于查找符合条件的文件。 -anewer[参考文件 。 ,单位以24小时计算-cmin分钟 -cnewer[参考文件 。 ,单位以24小时计算 注意:无论是grep还是find,以及类似 表达式的规则。另外,在搜索文件时,find虽然功能强大,但是却很费时,这时,我们可以使用替代命令;locate[文件名],进行快速查找。locate 所示。我们可以另外打开一个终端,使用命令:psaux|greptopps命令加aux可以输出当前系统中的所有进程,通过管道符号‘|’greptop9804。使用命令:killSIGKILL9804,向这个进程发送中止信号,能够使该进3-127top3-128ps提示:ps命令,显示当前系统中由用户运行的进程列表。命令格式:ps选项]。 命令格式:ps[选项]。RHEL5的虚拟机中,通过下拉菜单【VM】|【RemovableDevices】【CD/DVD】|【Settings…】,进入光驱设置3-129UseISO|【RemovableDevices】|【CD/DVD】|【Connect】将此设备连接进系统。这时,就可以通过命令:mount/dev/cdrom/media,将光驱中的光盘内容挂在到/media3-130所示。先将/media/Server/tftp-server-0.42-3.1.i386.rpm这个安装包拷贝到/home下,以供后面使用。再使用命令:umount/media,卸载掉刚才挂载的光驱,如图3-131所示。3-1293-130mount3-131umount提示:mount命令,用于挂载其他文件系统资源。命令格式:mount选项设备名称挂载点]。mount常用的选项:不把挂载记录在/etc/mtab-t文件系统ext2:linux目前常用的文件系统。msdos:MS-DOS的fatfat16。vfat:windows98常用的fat32。通过rpm命令可以安装rpm格式的软件包首先使用命令:rpm-qa|grep 查看系统中由rpm方式安装的关于tftp的软件,如图3-133所示,可见系统中确实存在这个软件。再使用命令:rpm–e 使用之前令查看发现这个软件确实从系统中卸载掉了最后我们再通过命令:rpm–ivhtftp-server-0.42-3.1.i386.rpm,将这个软件重新安装到系统上如图3-132 3-1323-133提示:rpmredhatpackagemanager(红帽管理套件)。命令格式:rpm[选项][rpm包]|[套件名]。-f文件-I套件名-l套件名-U套件名到命令的文档信息,使用格式:man命令名],例如在终端中输入:mangrep,可以查看grep命令的文档,上面有对grep这个命令详细而的解释,如图3-1343-134注意:有时候只想知道某个命令的作用,可以使用命令:whatis命令],查看。如果想知道一个命令可执行文件以及man文档所在的位置可以使用命令:whereis[命令],培训gedit、kwrite、OpenOffice,文本模式下的编辑vi、vim(vi的增强版本。vivimLinux中最常用的编辑器。vivim是Linux最基本的文本编辑工具,vivim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,不是图形界面的编辑器能比的。 o.c的文件并进入到vi编辑界面,如图3-135所示,进入vi时,vi默认处于命令行模式下。3-135vi3-1363-1373-138保存后的o.c文件内容,如图3-140所示,可见文件内容确实保存成功了。3-139底行模式键入图3-140cat查 将文件/etc/samba/smb.conf拷贝到当前/home 图3-141设置处理器3-142通过[ESC]键退出底行模式,进入到命令行模式中,键入:/ShareDefinitions,可字符串所在的行,如图3-143所示。3-143图3-144多3-1453-1463-1473-148vi的基本操作方法。当然,vi本身vi命令:nN%aAiIoOsSccCDJRux~pPY:w保存为filename退出vi退出vi:tabnew[文件名:vsplit[文件名:split[文件名:ctrl+以提高你的工作效率。一个好用的Vim需要用户配置并编写启动。在<<嵌入式体验入以及中的的两个插件,使用方法参考该 <<嵌入式体验班>>/第3天-Linux系统体验/培训/tftp服务器使用-实验培训69TFTPUDP的文件传输协议,通常只能用于小文件的传输。并且它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出,也在嵌入式开发中,tftp服务常用于通过网线从pc机服务端的tftp中镜像文件有安装,执行命令:rpm–ivhtftp-server-0.42-3.1.i386.rpm,进行安装。3-149确保tftp服务的rpm注意:使用命令:rpm–ivhtftp-server-0.42-3.1.i386.rpm,安装rpm组件,须确保当前rpmRHEL53.3.3rpm使用命令:mkdirtftpboot,在根下建立tftp的主工作,如图3-150所示,图3-150创建一 3-151修改tftp以你已经启动过了tftp服务,但在修改配置文件过后,需要通过命令:3-152启动3-153重启3-154查看tftp在/tftpboot下创建一个文件test,并向其中写入测试内容“otftp”,通过命令:持令。通过命令:gettest,可以将/tftpboot中的test文件到当前下,如图3-156所示,这就在本机上测试了tftp服务器的功能。3-155查看tftp图3-156从tftp服务 中文<<嵌入式体验班>>/第3天-Linux系统体验/培训/NFS服务器使用-实验要培训NFSNetworkFileSystem的简写,即网络文件系统。NFS允许一个系统在网络上与它人共享和文件。通过使用NFS,用户和程序可以象本地文件一样远端系有安装,执行命令:rpmivh*.rpm,进行安装,*rpm组建名。3-157确保nfs服务的rpm注意:使用命令:rpm–ivhnfs-utils-1.0.9-24.e15.i386.rpm,安装rpm组件,须确保当前下有对应的rpmRHEL5的安装镜像光盘中寻找,方法参考3.3.3所述的中rpm命令使用部分。通过命令:vietc/exportsNFS3-158所示,这里的配置信息设置了/home为NFS服务器共享,并接收源于ip地址为:3-158nfs注意: 忽略登录NFS使用者的,其都会被转换为使用者,通通常为nobody,也可以自行设定这个UID的值,UID通过命令:/etc/init.d/nfsstartnfs3-159所示。或者之前可以你已经启动过了nfs服务,但在修改配置文件过后,需要通过命令:/etc/init.d/nfsrestart,重启nfs,如图3-160所示。3-159启动3-160重启3-161查看nfs使用命令:mounttnfs08/home/mntNFS到/mnt下,如图3-162所示,可以看到挂载之后,本机/mnt和本机/home中的内容是一样的了。也就是说通过NFS把本机的/home挂载到了本机/mnt下。这里在本地挂载NFS(08是本机的ip),只是为了查看测试效果。

3-162本地挂载<<嵌入式体验班>>/第3天-Linux系统体验/培训/samba服务器使用-实验培训SambaSMB(ServerMessageBlock)Linux的启动服务,只有SMB服务启动,才能实现文件的共享;而NMB服务是负责解析用如果NMB服务没有启动,就只能通过IP来共享文件。按照3.3.3节的方法将RHEL5光盘挂载到 下,使用命令:3-164rpm包是被安装进系统了的。3-163光盘中与samba3-164需要安装的samba的rpm通过命令:vietc/samba/smb.confsamba3-1656行。然后,使用命令:p,将这6行粘贴到所6行的后面,如图3-166所示。图3-165这6图3-166将内容粘贴在后3-167修改提示:ShareDefinitions下各个参数及使用方法:path= browseable=writable=readreadonly=guest是否可以,与"public=guestok=writewritelistvalidvalidusers=smbreadreadlist=invalidinvalidusers=adminadminusers=createmask=注意新添加的这个账户应该与配置文件中“validusers”参数的值一致。用户添加后,使用命令:smbpasswd–asmb,设置其samba服务器的登录。3-168添加samba已经启动过了samba服务,但在修改配置文件过后,需要通过命令:3-169启动3-170重启windows中通过【开始】|【运行】打开运行界面,在其的登录界面,在其中输入我们前面设置的samba账户和,就能够登录了。登录后的界面如图3-173所示。3-171在“运行”中输入Linux的图3-172通过刚才设置的samba账户登3-173samba通过上图中的共享夹,我们可以到Linux中对应的所有内容。可以尝试将Linux的/homeLinux查看拷贝后的文件内容与原文件是否一致。通过这些操作可以知道,通过samba共享操作Linux下的文件,如对文件进行修改、删除、添加或等,操作方法是window下基本的文件操作,并且其效果均与Linux中对应文件同步。sambavalidusers参数samba,还需要为root设置一个samba,使用命令:smbpasswdroot。使用root登录,用户将获得所有原linux系统上的root用户权限。<<嵌入式体验班>>/第3天-Linux系统体验/培训/Setup系统配置-实验要3-174setup通过键盘上的方向键,选择“配置”一栏,单击回车进入配置界面,如3-175Tab键配合空格键确认,选择“安全级别”为“禁用”,3-175禁用选择”r-6所示。通gpgD-7所示。服务名前面的“[”s项上,通过空格键,使服务名前被“”号标记即可。如果要取消这项服务,再按一3-1763-177启用nfs通过setup的文本菜单配置服务,类似于我们之前做的修改配置文件的工作,务可以重启Linux系统,或者像前面一样通过在终端输入命令来启动。3-178要重启网卡,可以利用命令:/etc/init.d/networkrestart,来重新启动整个网络接

3-179<<嵌入式体验班>>/第3天-Linux系统体验/培训/wireshark网络分析-实验培训取网络封包,并尽可能示出最为详细的网络封包资料。对于网络上的异常流量行为,映出目前流通的封包资讯。Wireshark本身也不会送出封包至网络上。syn包(syn=j)N(ack=j+1(syn=k第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包windowssamba共享。然后确保如图3-180所3-180wireshark3-181在终端启动3-182wireshark3.3.通过上的图 ,或者通过下拉菜单【Capture】【Interfaces…3-183所示,选择设备“eth0”3-183址、目的地址、协议、信息等项目罗列出来,如图3-184所示。3-184wiresharkwireshark将很多我们并不关心的包也罗列出来了,这为TCP协议的包,于是我们可以通过上的图标进入到过滤器设置界面,按如图3-185所示的方法,在Filer项中选择“TCPonly”,表示只显示TCP相关的包,确定后退出。3-185注意:出了通过上述方法选择过滤方法外,还可以通过在图标后的编辑框中输字段名运算符通过【Help】|【ManualPages】|【WiresharkFilter】来查看。如图下表所示是wireshark过滤表达式所支持的比较运算符。除了这些运算符,还支 ”:HTTP数据中包含 !(ip.addr)ip,这等价于ip.src!=andip.dst!=。当设置好过滤条件后,之前罗列的与TCP无关的包都被滤去了。这时,我们在windows里面登录samba服务器,可以看到wireshark捕获到了许多TCP和SMB的协议包。我们知道,samba协议是基于TCP协议的,在建立samba服务之前必须建立TCP3-18626、27、31正是TCP三次握手的过程。3-186wireshark捕获了TCP3-18726windows()Linux(08)发送TCP连接请求包(445samba会话服务对应端口)TCP的SYNSequencenumber3-187wireshark分析SYN3-18827Linux(08)windows()发送的TCP应答包,也就是TCP的第二次握手过程。从图中可以看到,其ACK字段,也就是Acknowledgementnumber对应的值为:0xba4691c1,正好是上个包SYN+1SYN字段值为:0x3f4b55db(SYNACK字段之3-188wireshark分析SYN+ACK3-18931windows()Linux(08)发送TCPTCPACKAcknowledgementnumber对应的值为:0x3f4b55db,正好是上个下面的包就是samba协议对应的过程了。3-189wireshark分析ACK对一些网络协议进行分析。在掌握实验内容之后,大家可以尝试利用Wireshark分析完整samba服务过程。 /<<嵌入式体验班>>/第3天-Linux系统体验/培/

培训/ /s与 令解析器。它类似于DOS下的 s是用s语法将s命令组织起来形成的文件形式。SWindows/Dos下的批处理相似,主要为了将大量命令通过一个纯文本文件一次执行完,以Linux/Unix下令。 ifthenif或if条件表达式;then语句1ifthenelseif条件表达式ifelifif条件表达式elif条件表达式;then语句2…elif条件表达式;then语句n-1casecase表达式…动作,其中“*)”为默认匹配项。可以用于取代一组if语句。位置参数$2-#2位置参数)=(ASCII)(ASCII)><if[-z$a]||[-z$b]echo"pleaseenter2no"exit1if[$a-eq$b];echo"numbera=numberb"elseif[$a-gt$b]elif[$a-lt$b]echo"numbera<number提示:为了方便演示,本书将课程光盘中所有实验代码都拷贝到了linux{echo"usage:gb2utf[gb_file][utf_file]"echo" gb2utf[gb_file]"}if[-z$1] {echo"usage:gb2utf[gb_file][utf_file]"echo" gb2utf[gb_file]"}if[-z$1]exitif[-z$2]if[-z$1][-f$1]||echo"$1isnotafile"exit1}touchiconv-fgb18030-tutf-8$1>.$1cat.$1>$1exit0if[-f$1]iconv-fgb18030-tutf-8$1>echo"$1isnotafile"exit1 3-190二个参数分别传给了变量a、b进行比较之后输出了正确的结果。

图3-191运行的效通过本节实验内容,应该掌握s语言条件选择语句和二元比较运算符的使用方的语法对比,并对过去我们用c语言处理的问题,思考用s的解决方案。 /<<嵌入式体验班>>/第3天-Linux系统体验/培/

培训/ / in inwhileuntil后,它被修改过件的硬*!"非"(反转上边的forfilesin*if[-f"$files"]counter=`expr$counter+echo"Thereare$counterfilesin 3-192运行程序程序,如图3-193所示,为了看到实验效果我们在当前下建立文录下共有3个文件。图3-193运行的效 运算符[参数exprmatch"$string"expr"$string":exprindex"$string"exprsubstr$string$positionexprmatch"$string"expr"$string":exprmatch"$string"expr"$string":验代码,写一个可以统计指定下文件的详细信息(包括文件的权限、类型、大 /<<嵌入式体验班>>/第3天-Linux系统体验/培/

//

echo-n"Pleaswenternumber:"echo"Youputnumberiswhilewhile[$n-gt0n=$(($n/10)) " "$oninareverseorder 3-194图3-195运行的效本节实验内容是对前面知识的补充,可以看到很多c语言实现的工作用s语言也能实现,但要注意使用s做类似工作的实现方式。比如实验代码中为了从终端用户输入就要使用read这个命令。另外,在s中,要实现同样功能的语句可以使用expr命令也能到达同样的效果,读者可以用expr替换这些语句,体会编写s的灵.13 /<<嵌入式体验班>>/第3天-Linux系统体验/培/

//

if["$1"=""]||["$2"=""]echo"Pleaseenterfilename"exit1if[-e$2]echo"Thefilealreadyuntilf$2#监视该文件是否被删除echoecho"Thefilehavebeen if[!`mv$1$2`]echo"mvecho"mv 3-196由于文件b已经存在,3-3-13将监视文件b。图3-197正在监视文件在之前的终端中,3-3-13已经监视到文件b被删除,并且成功的将文件a移动为文件b。3-198在另一个终端中删除图3-199到b被删除后将a改名为

本节实验内容是s 语言在Linux系统管理中的一个应用实例。将s 系统管理,提高管理者的工作效率是使用s的初衷。在熟悉了s的语则之后,大家可以编写功能更为复杂的,例如下节实验中要介绍qcd。3.3.14综合实验-qcd程序设 命令格式:qcd[选项][ /usr/local/sbin目录、拷贝qcd.sh/etc/profile.d /etc/profile.d中所有.sh后缀的通过source命令(或.命令加入当前s 也就使得qcd.sh中的函数qcd成为了该终端进程的一个环境变量(使用命令set可以查看当前s 变量所以我们使用qcd命令时,实际上是调用了qcd.sh中定义的这个qcd函数,并通过这个函数调用了qcd。至于为什么要通过qcd.sh来实现跳转,而不能在qcd中直接通过cd命令跳转到指定 ,是因为在中调用cd实际是在子进调用cd,一当结束退出,又会恢复到父进程的 {if[-r$history_dir]#如果$history_direcho-n"Youhaveinstalledqcd,overwriteit(y\Yorq\Qorn\N)?"whilereadchoiceif["$choice"="y" "$choiceY"#要改写安装路径if["$choice"="q" "$choice"="Q"] exit1if["$choice"="n" "$choice"="N"] cp-f./qcd.shecho"installqcdOK,butdonotoverwriteit!"echo"versionis1.00"exitexitecho-n"Youhaveinstalledqcd,overwriteit(y\Yorq\Qorn\N)?"if[-r$setup_content]:cp-f./qcdcp-f./qcd.sh$prof_content/}{[-r$history_dir]||[-r$bin_content]||!echo"Yourcomputerhasnotqcd!"||!echo"Nothingtoecho-n"Areyousuretodeleteqcd(y\Yorq\Q)?"whilereadchoiceif["$choice"="y" if["$choice"="q" "$choice"="Q"]exit1echo-n"Areyousuretodeleteqcd(y\Yorq\Q)?"rm-rf$setup_contentrm-f rm- }{echoecho"<install>installqcdonyourecho"<installdel>deleteqcdfromyourexit}echo"QcdInstallSoftware"if[$#-eq0] echo"installqcdOK!"echo"versionis1.00"exit1if[$#-gt1]echo"havedeleteqcd qcdqcd{mkdir-p[-x/.qcd/tmp/qcd_tmp]||touch/.qcd/tmp/qcd_tmpod700/.qcd/tmpexportQD[!`cat$QD`]||cd"`catrm-f}#Writenby{echo"qcd(quickcd)version1.01commandecho"<qcd-sdir[position]> addadirectoryto$history_dir."echo"ifcontent=./,thenaddcurrentdirectoryto echo"ifposition(1-20)isnot,defaultvalueequal1."echoecho"<qcd-d[position]>thendeleteadirector

温馨提示

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

评论

0/150

提交评论