嵌入式系统应用(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-04 21:11:29

点击下载

作者:李军锋

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

嵌入式系统应用

嵌入式系统应用试读:

前言

电子类学科是信息技术领域的重要学科,是高新技术产业的重要组成部分,被广泛应用于工业、农业、国防军事等许多领域,在国民经济中发挥着越来越重要的作用,在国民经济的四大支柱产业(节能环保、新一代信息技术、生物、高端装备制造)中,电子类学科是新一代信息技术产业的重要组成部分。嵌入式技术是近年来新兴的热门电子类学科技术,嵌入式系统被定义为以应用为中心、以计算机技术为基础、软/硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统应用技术已成为当今最热门的研究领域之一,它涵盖了微电子技术、电子信息技术、计算机软件和硬件等多领域技术的综合应用,嵌入式技术应用型人才的需求量很大,是行业职场上的紧缺人才。

本书按照以能力为本位、以职业实践为主线、以项目为主体的模块化专业课程体系进行设计,根据工学结合、理实一体、循序渐进的原则,以仿真月球车为中心构建课程体系,分为四个项目:包括仿真月球车的直线运行控制、仿真月球车的巡迹控制、仿真月球车的图像识别与传输控制。结合嵌入式行业职业技能要求和国家相关技能大赛规则,将仿真月球车作为典型案例是本课程的主要特色。仿真月球车工程案例的实践过程都按照任务驱动的模式进行组织,回归到科学知识和实践技能获取的自然过程。每个项目主要包括以下四个组成部分。(1)项目概况:介绍项目的基本情况、技术要求及其实现的技术关键。(2)

预备知识

:实现项目设计制作所必需的知识,预备知识以“必需、够用”为度。(3)项目实现:项目实现所需的技术资料、实现步骤、相关的技术要求、撰写技术文件等,梳理项目实践过程中的要点和步骤,便于学生理解和接受。(4)拓展提高:通过拓展知识提高学生触类旁通、举一反三的能力,便于强化学生的知识和职业能力等。

本书由上海电子信息职业技术学院的李军锋主编和统稿,邵瑛和沈毓骏参加了编写。在编写过程中得到电子工程系教师和北京博创科技公司、百科融创公司技术人员的支持与帮助,在此一并表示感谢!

为方便教师教学,本书还配有电子教学课件、习题参考答案、C语言源程序文件等教学资源,请有此需要的教师登录华信教育资源网(http://www.hxedu.com.cn)免费注册后进行下载,有问题时请在网站留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn)。读者也可以通过该课程的精品课网站浏览和参考更多的教学资源(http://tkjs.stiei.edu.cn:8081/ec-webpage-show/checkCourseNumber.do?course Number=58711454)。

因时间和作者水平有限,书中的错误在所难免,恳请读者提出宝贵意见。编者

项目1 构建嵌入式系统开发环境

教学导航

项目概况

本项目以实现仿真月球车的直线运行控制为目标,通过学习嵌入式系统基本理论,构建嵌入式系统的集成开发环境,采用Linux操作系统平台在ARM板内刻录可执行文件,并设置开机自动运行程序实现仿真月球车的直线运行控制,实现的主要功能包括仿真月球车前进和后退。

仿真月球车实物图如图1.1所示。图1.1 仿真月球车实物图预备知识

嵌入式系统的应用日益广泛,可以说无所不在、无处不在,嵌入式系统的快速发展也极大地丰富和延伸了嵌入式系统的概念。然而到底什么是嵌入式系统呢?如何选择和构建嵌入式系统开发环境?下面从嵌入式系统的发展阶段出发,详细地介绍嵌入式的基本概念及其相关知识,为实现本书各项目奠定基础。

1.1 嵌入式系统的组成与应用

嵌入式系统(Embedded System,ES),根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control,monitor,or assist the operation of equipment,machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

目前国内有多种不同的关于嵌入式系统的定义,被业界大多数人所接受的是根据嵌入式系统的特点下的定义:“以应用为中心、以计算机技术为基础、软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素和特征。1.1.1 嵌入式系统的发展

虽然嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现。世界上第一个应用的嵌入式系统可以追溯到20世纪60年代中期的阿波罗导航计算机AGC(Apollo Guidance Computer)系统,用来完成阿波罗飞船的导航控制。随着微电子技术的发展,嵌入式系统才逐步兴起。综观嵌入式系统的发展历程,从20世纪70年代单片机的出现到今天各种嵌入式微处理器、微控制器的广泛应用,大致可以分为如下四个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。

1.无操作系统阶段

嵌入式系统诞生于微型机时代,但微型机的体积、价位、可靠性都难以满足嵌入式系统的应用要求,因此,嵌入式系统开始走芯片化道路,即将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。这个时期的嵌入式系统多应用于各类工业控制设备和武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,严格地说还谈不上“系统”的概念。主要特点是:系统结构和功能相对单一,存储容量较小,几乎没有用户接口,但使用简便、价格低廉,因而曾经在工业控制领域中得到了非常广泛的应用。

2.简单操作系统阶段

20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的“操作系统”开发嵌入式应用软件,大大缩短了开发周期。主要特点是:出现了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载及监控应用程序的运行。

3.实时操作系统阶段

20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的推动下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。以通用型嵌入式实时操作系统为标志的嵌入式系统,如VxWorks、PalmOS、Windows CE就是这一阶段的典型代表。主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。

4.面向Internet阶段

伴随着通用型嵌入式实时操作系统的发展,面向Internet网络和特定应用的嵌入式操作系统正日益引起人们的重视,成为重要的发展方向。嵌入式系统与Internet的真正结合、嵌入式操作系统与应用设备的无缝结合,代表着嵌入式操作系统发展的未来。现今嵌入式系统的研究和应用的显著变化是:新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内支持更多的微处理器。嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软/硬件系统本身,还要提供强大的硬件开发工具和软件支持包。通用计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA等,嵌入式软件平台得到进一步完善。各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、网络结构完整等特点,很适合信息家电等嵌入式系统的需要。网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,也促进了设备功能和结构的复杂性。精简系统内核,优化关键算法,降低功耗和软/硬件成本,提供更加友好的多媒体人机交互界面,也是必然的选择。1.1.2 嵌入式系统的组成

嵌入式系统是专用计算机系统,也是由硬件和软件组成的。嵌入式系统的硬件由嵌入式处理器和嵌入式外围设备组成,它提供了嵌入式系统软件运行的物理平台和通信接口。嵌入式操作系统和嵌入式应用软件是整个系统的控制核心,控制整个系统的运行,提供人机交互信息等。一般而言,整个嵌入式系统的体系结构可以分成四个部分:嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件,图1.2描述了嵌入式系统的组成结构。图1.2 嵌入式系统的组成结构

1.嵌入式处理器

嵌入式系统的核心是各种类型的嵌入式处理器,嵌入式处理器与通用处理器最大的不同点在于,嵌入式CPU大多工作在为特定用户群所专门设计的系统中,它将通用CPU中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。

嵌入式处理器的体系结构经历了从CISC(复杂指令集)至RISC(精简指令集)和Compact RISC的转变,位数则由4位逐步发展到64位。目前常用的嵌入式处理器可分为低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微处理器(Embedded Micro Processor Unit,EMPU)、用于计算机通信领域的嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系统(System On Chip,SOC)。目前几乎每个半导体制造商都生产嵌入式处理器,并且越来越多的公司开始拥有自主的处理器设计部门,据不完全统计,全世界嵌入式处理器已经超过1000种,流行的体系结构有30多个系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最为广泛。

2.嵌入式外围设备

在嵌入系统硬件系统中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用于完成存储、通信、调试、显示等辅助功能的其他部件都可以算作嵌入式外围设备。目前常用的嵌入式外围设备按功能可以分为存储设备、通信设备和显示设备三类。

存储设备主要用于各类数据的存储,常用的有静态易失型存储器(RAM、SRAM)、动态存储器(DRAM)和非易失型存储器(ROM、EPROM、EEPROM、FLASH)三种,其中FLASH凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。NOR技术闪速存储器是最早出现的Flash Memory,目前仍是多数供应商支持的技术架构,它源于传统的EPROM器件。与其他Flash Memory技术相比,具有可靠性高、随机读取速度快的优势。在擦除和编程操作较少而直接执行代码的场合,尤其是代码(指令)存储的应用中广泛使用。由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。NAND技术 Flash Memory具有快编程和快擦除的功能,其块擦除时间是2ms;而NOR技术的块擦除时间达到几百ms。随机读取速度慢且不能按字节随机编程。芯片尺寸小,引脚少,是位成本(bit cost)最低的固态存储器,基于NAND的存储器可以取代硬盘或其他块设备。

通信设备目前存在的绝大多数通信设备都可以直接在嵌入式系统中应用,应用最为广泛的接口主要包括RS-232接口(串行通信接2口)、SPI(串行外围设备接口)、IrDA(红外线接口)、IC(现场总线)、USB(通用串行总线接口)、Ethernet(以太网接口)等。

显示设备主要由于嵌入式应用场合的特殊性,通常使用的是阴极射线管(CRT)、液晶显示器(LCD)和触摸板(Touch Panel)等外围显示设备。

3.嵌入式操作系统

嵌入式操作系统是专门负责管理存储器分配、中断处理、任务调度等的软件模块,是系统软件,通常包括与硬件相关的底层驱动程序、系统内核、设备驱动接口、通信协议、图形用户界面(GUI)等。嵌入式操作系统具有通用操作系统的基本特点,同时在系统实时性、硬件依赖性、软件固化性及应用专用性等方面具有更加鲜明的特点。

嵌入式操作系统根据应用场合可以分为两大类:一类是面向消费电子产品的非实时系统,这类设备包括个人数字助理(PDA)、移动电话、机顶盒(STB)等;另一类则是面向控制、通信、医疗等领域的实时操作系统,如WindRiver公司的VxWorks、QNX系统软件公司的QNX等。实时系统根据响应时间可以分为弱实时系统、一般实时系统和强实时系统三种。响应时间从秒级到微秒级。根据时限对系统性能的影响程度,实时系统又可以分为软实时系统和硬实时系统。软实时系统指的是虽然对系统响应时间有所限定,但如果系统响应时间不能满足要求,并不会导致系统产生致命的错误或崩溃;硬实时系统则指的是对系统响应时间有严格的限定,如果系统响应时间不能满足要求,就会引起系统产生致命的错误或崩溃。在目前实际运用的实时系统中,通常允许软、硬两种实时性同时存在。

4.嵌入式应用软件

嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件,由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件不仅要求其在准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。对于一些复杂的系统,在系统设计的初期阶段就要对系统的需求进行分析,确定系统的功能,然后将系统的功能映射到整个系统的硬件、软件和被控对象的设计过程中,称为系统的功能实现。1.1.3 嵌入式系统的应用及特征

1.嵌入式系统的应用

由于嵌入式系统具有体积小、性能好、功耗低、可靠性高及面向行业应用等突出特点,目前嵌入式系统广泛地应用于消费电子、通信、汽车、国防、航空航天、工业控制、仪表、办公自动化等领域。表1.1列出了嵌入式系统在各行业中的典型应用。表1.1 嵌入式系统在各行业中的应用

1)消费类电子产品应用

嵌入式系统在消费类电子产品应用领域的发展最为迅速,而且在这个领域中的嵌入式处理器的需求量也最大。由嵌入式系统构成的消费类电子产品已经成为现实生活中必不可少的一部分。例如各式各样的信息家电产品,如智能冰箱、流媒体电视等。最常用的莫过于手机、PDA、电子辞典、数码相机、MP3/MP4等。可以说离开了这些产品生活生活就像以前没有电一样很不方便。这些消费类电子产品中的嵌入式系统同样含有一个嵌入式微处理器、一些外围接口及一套基于应用的软件系统等。

2)智能仪器、仪表类应用

通常这些嵌入式设备中都有一个应用处理器和一个运算处理器,可以完成一定的数据采集、分析、存储、打印、显示等功能,如网络分析仪、数字示波器、热成像仪等。这些设备对于开发人员的帮助很大,大大地提高了开发效率,可以说是开发人员的“助手”。

3)通信信息类产品应用

这些产品多数应用于通信机柜设备中,如路由器、交换机、家庭媒体网关等。在民用市场使用较多的莫过于路由器和交换机了。通常在一个典型的VOIP系统中,嵌入式系统会扮演不同的角色,有网关(gateway)、关守(gatekeeper)、计费系统、路由器、VOIP终端等。基于网络应用的嵌入式系统也非常多,可能目前市场上发展最快的就是远程监控系统等监控领域中的应用系统了。

4)过程控制类应用

过程控制类应用主要指在工业控制领域中的应用。对生产过程中各种动作流程的控制,如流水线检测、金属加工控制、汽车电子等。汽车工业已开始在中国取得了飞速的发展,汽车电子也在这个大发展的前提下迅速成长。汽车发动机控制器 ECU 是汽车中最为复杂且功能最为强大的嵌入式系统,它包含电源、嵌入式处理器、通信链路、离散输入、频率输入、模拟输入、开关输出、PWM 输出和频率输出等各大模块。正在飞速发展的车载多媒体系统、车载 GPS 导航系统等也都是典型的嵌入式系统应用。美国 Segway 公司出品的两轮自平衡车,其内部就使用嵌入式系统来实现传感器数据采集、自平衡系统的控制、电机控制等。

5)国防武器设备应用

如雷达识别、军用数传电台、电子对抗设备等。在国防军用领域使用嵌入式系统最成功的案例莫过于美军在海湾战争中采用的一套Ad hoc自组网作战系统了。利用嵌入式系统设计开发了Ad hoc设备,安装在直升机、坦克、移动步兵身上,构成一个自愈合、自维护的作战梯队。这项技术现在发展成为Mesh(无线网状网)技术,同样依托于嵌入式系统的发展,已经广泛应用于民用领域,如消防救火、应急指挥等应用中。

6)生物微电子应用

指纹识别、生物传感器数据采集等应用中也广泛采用嵌入式系统设计。现在环境监测已经成为人类不得不面对的问题,可以想象,随着技术的发展,将来在空气、河流中都可能存在着很多的微生物传感器在实时地检测环境状况。而且还在实时地把这些数据送到环境监测中心,以达到检测整个生活环境避免发生更深层次的环境污染问题。这也许就是将来围绕在生存环境周围的一个无线环境监测传感器网。

2.嵌入式系统特征

根据不同的分类标准嵌入式系统有不同的分类方法。嵌入式系统按表现形式及使用硬件种类可分为:芯片级嵌入(系统中使用含程序或算法的处理器的嵌入式系统)和模块级嵌入(系统中使用某个核心模块的嵌入式系统)两类。嵌入式系统按软件实时性需求可分为非实时系统(如PDA)、软实时系统(如消费类产品)及硬实时系统(如工业实时控制系统)三类。嵌入式系统特征主要有以下方面。

1)嵌入式系统通常是面向特定应用的

嵌入式CPU与通用型CPU的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,与网络的耦合也越来越紧密。

2)嵌入式系统是知识集成系统

嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

3)功耗低、体积小、集成度高、成本低

嵌入式系统“嵌入”到被控对象的体系中,对对象、环境和嵌入式系统自身具有严格的要求。一般的嵌入式系统具有功耗低、体积小、集成度高、成本低等特点。

嵌入式系统的硬件和软件都必须高效率地设计,在保证稳定、安全、可靠的基础上量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。这样才能最大限度地降低应用成本,从而在具体应用中对处理器的选择更具有市场竞争力。

4)具有较长的生命周期

嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式系统产品一旦定型进入市场,一般就具有较长的生命周期。

5)执行代码固化在非易失性存储器中

为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或处理器的内部存储器件中,而不是存储于磁盘等载体中。

6)需要专门的开发工具和方法进行设计

嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。

1.2 嵌入式系统微处理器

嵌入式硬件系统一般由嵌入式微处理器、存储器和输入/输出三部分组成,其核心是嵌入式微处理器。嵌入式硬件系统如图1.3所示。嵌入式微处理器是指应用在嵌入式系统中的微处理器。它一般具备四个特点:①对实时和多任务有很强的支持能力;②具有功能很强的存储区保护功能;③可扩展的处理器结构;④功耗必须很低甚至到微瓦级。

嵌入式微处理器是嵌入式硬件系统的核心,由控制单元、算术逻辑单元和寄存器组成,控制单元主要负责取指令、指令译码和取操作数等基本动作,并发送主要的控制指令。控制单元中包括两个重要的寄存器:指令寄存器(Instruction Register)和程序计数器(Program Counter)。算术逻辑单元分为两部分,即算术运算单元和逻辑运算单元。寄存器用于存储从存储器中所取得的数据以及算术逻辑运算单元处理好的暂时性数据,如图1.4所示。图1.3 嵌入式硬件系统图1.4 嵌入式微处理器基本结构

根据用途,可以将嵌入式微处理器分为下面四类。

1)嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU)

嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性及可靠性方面的要求较通用的标准微处理器高。根据实际嵌入式应用要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度减小系统的体积和功耗。由嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上构成一个通常所说的单板机系统。

2)嵌入式微控制器(Micro ControllerUnit,MCU)

嵌入式微控制器又称单片机,它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,在芯片内部集成了ROM、RAM、总线、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A等各种必要功能部件和外设。为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制。和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本大幅度下降、可靠性提高。微控制器是嵌入式系统应用的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。

3)嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)

在数字信号处理应用中,各种数字信号处理算法相当复杂。DSP处理器对系统结构和指令进行了特殊设计,使其适合于实时地进行数字信号处理。在数字滤波、FFT、频谱分析等方面,DSP算法正大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能过渡到采用嵌入式DSP处理器。在有关智能方面的应用中,也需要嵌入式DSP处理器,如各种带有智能逻辑的消费类产品、生物信息识别终端、带有加解密算法的键盘、虚拟现实显示等。

4)嵌入式片上系统(SystemOnChip,SOC)

随着EDI的推广和VLSI设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就产生了SOC技术。各种通用处理器内核将作为SOC设计公司的标准库,成为VLSI设计中一种标准的器件。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除某些无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,对于减小整个应用系统的体积和功耗、提高可靠性非常有利。

1.3 嵌入式系统软件的特点与组成

1.嵌入式软件的基本特点

嵌入式系统软件及应用软件是实现嵌入式系统功能的关键,主要特点如下。

1)软件要求固态化存储

为保证高效和可靠,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而非存储在磁盘载体中。

2)软件代码的质量和高可靠性

要求高质量的程序和编译工具,以减少程序二进制代码长度,提高执行效率。

3)系统软件的实时处理能力

在多任务嵌入式系统中,任务的合理调度和及时执行是靠具有实时处理能力的嵌入式操作系统来保障的。

4)嵌入式系统软件的典型语言

C语言的高效、普及等特点使它成为最常用的嵌入式系统软件开发语言。

2.嵌入式系统软件组成

嵌入式软件主要包含以下几个部分。

1)嵌入式操作系统

嵌入式操作系统(Embedded Operating System,EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有嵌入式Linux、Windows Embedded、VxWorks等,以及应用在智能手机和平板电脑的Android、IOS等。

2)嵌入式支撑软件

支撑软件是用于帮助和支持软件开发的软件,通常包括数据库和开发工具,其中以数据库最为重要。嵌入式数据库技术已得到广泛的应用,随着移动通信技术的进步,人们对移动数据处理提出了更高的要求,嵌入式数据库技术已经得到了学术、工业、军事、民用部门等各方面的重视。嵌入式移动数据库或简称为移动数据库(EMDBS)是支持移动计算或某种特定计算模式的数据库管理系统,数据库系统与操作系统、具体应用集成在一起,运行在各种智能型嵌入设备或移动设备上。其中,嵌入在移动设备上的数据库系统由于涉及数据库技术、分布式计算技术及移动通信技术等多个学科领域,目前已经成为一个十分活跃的研究和应用领域。国际上主要的嵌入式移动数据库系统有Sybase、Oracle等。我国嵌入式移动数据库系统以东软集团研究开发出了嵌入式数据库系统OpenBASE Mini为代表。

3)嵌入式应用软件

嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其在准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。目前我国市场上已经出现了各式各样的嵌入式应用软件,包括浏览器、E-mail软件、文字处理软件、通信软件、多媒体软件、个人信息处理软件、智能人机交互软件、各种行业应用软件等。嵌入式系统中的应用软件是最活跃的力量,每种应用软件均有特定的应用背景,尽管规模较少,但专业性较强,所以嵌入式应用软件不像操作系统和支撑软件那样受制于国外产品垄断,是我国嵌入式软件的优势领域。

1.4 嵌入式系统设计流程与关键技术

嵌入式系统是一个软件、硬件综合体,随着信息化、智能化、网络化的发展,嵌入式系统技术获得了深入的发展。信息时代,数字时代使得嵌入式的发展前景尤其美好。嵌入式系统设计方法是嵌入式系统应用开发的关键环节,主要包括包括设计流程、设计中的关键技术及设计平台。

1.嵌入式系统设计流程

一个完整的嵌入式系统设计包括七个阶段:产品定义,软件与硬件的划分,迭代与实现,详细的软件、硬件设计,硬件与软件的集成,产品测试与发布,持续维护与升级。

一项技术总是在不断革新中完善发展,嵌入式也是如此。就设计流程而言,嵌入式系统的设计可以大体分为两个设计阶段:传统设计阶段和现代软/硬件协同设计阶段。

传统设计流程的基本特征如下:系统在一开始就被划分为软件和硬件两大部分;软件和硬件进行独立开发;常采用“hardware first”原则。因此这就导致了一系列的问题,例如软/硬件交互受到很大限制;软/硬件之间的相互性能影响无法评估;系统集成相对滞后,NRE(Non-Recurring Engineering)较大。从而使得设计出的嵌入式系统质量差、难以修改,同时,设计周期也难以得到有效保障。随着设计复杂程度的提高,软/硬件设计中的一些错误将使得开发过程变得困难;“hardware first”原则也大大提高了系统设计耗费的成本。

为了解决传统式设计流程中的一系列问题,现代的嵌入式系统设计多采用软件协同式开发方法。软/硬件协同开发包括以下步骤:设计描述、设计建模、综合与优化、设计验证、设计实现。软/硬件协同设计有一系列的基本需求。它强调统一的软/硬件描述方式,具体体现在:软/硬件支持统一的设计和分析工具;允许在一个集成环境中仿真系统软/硬件设计;支持系统任务在软件和硬件设计之间的相互移植。交互式的软/硬件设计技术允许多个不同的软/硬件划分设计进行仿真和比较。该技术可以辅助最优系统实现方式决策,合理划分以更好地满足系统设计标准。同时,软/硬件协同设计需要有完整的软/硬件模型基础,有正确的检验方法。

软/硬件协同设计的优点体现在在设计初始阶段就能够进行软/硬件交互设计与调整,关键技术(如PLD,器件接口和功能模型的描述)的发展使得软/硬件交互设计变得简单。

2.嵌入式系统设计中的关键技术

嵌入式系统是多种先进技术的融合体,它是计算机技术、IC技术、电子技术与特定行业接轨的产物。这就决定了它是一个技术和资金密集、高度分散并且不断创新的知识集成系统。因此在嵌入式系统开发中要做好规划,以尽力地满足其功能性和非功能性指标。在设计整个嵌入式系统时,关键技术体现在:(1)嵌入式系统开发流程的具体实现;(2)保证系统开发中交叉编译和链接的正确实施;(3)确保嵌入式系统的内核要精巧,这是系统自身特点与市场的要求;(4)设计时要面向应用,突出效率,减少冗余,精简系统;(5)嵌入式系统大都有实时的要求,因此在开发时要尽量做到性能优化,嵌入式软件在可靠性等方面必须保证;(6)嵌入式系统本身不支持二次开发功能,在开发完成后若需进行二次开发,需要借助专业的开发工具;(7)嵌入式系统开发要尽量做到减少功耗,降低成本,这些依赖于嵌入式系统开发中各个环节技术的革新。

3.嵌入式系统设计平台

就嵌入式系统开发平台来讲,笼统地说包括硬件平台和软件平台。

硬件平台包括多种多样的微处理器,如AVR、ARM、FPGA、DSP等;甚至较为简单的8051都可以作为开发的硬件平台。具体选择哪一种开发硬件平台,这就要看项目本身,如开发周期、开发成本、开发目标及技术等,目前市场上常用的有ARM9这一款处理器,如三星的S3C2440。

具体到嵌入式开发的软件平台,这就涉及嵌入式开发的系统及其中的具体编程问题;目前可供嵌入式系统开发移植的系统包括Linux、WinCE等适合移植的系统。其中Linux是比较常用的移植系统。Linux系统开源,为用户提供了广大的发挥空间。在移植系统后,就要进行嵌入式软件开发,界面制作等工作;这就要用到C/C++、汇编语言,其中C和C++是使用较为广泛的语言。

另外,在开发嵌入式系统时,要有一些优秀的开发工具,如Linux嵌入式开发中的工具链,它通过GNU的gcc作编译器,用gdb、kgdb、xgdb作调试工具,能够很方便地实现从操作系统到应用软件各个级别的调试。

1.5 嵌入式系统Linux开发环境

嵌入式系统开发环境的构建是嵌入式系统开发的重要环节,综合分析不同嵌入式系统开发环境特点,选择嵌入式系统Linux开发环境具有相应的优势。

1.嵌入式系统开发环境方案

目前主流的嵌入式系统开发环境有几个方案:(1)基于PC Windows操作系统下的CYGWIN;(2)在Windows下安装虚拟机后,再在虚拟机中安装Linux操作系统;(3)直接安装Linux操作系统。

基于Windows的环境要么有兼容性问题,要么速度有影响。嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,及实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,稳定性好,安全性好。所以使用Linux 操作系统开发环境。Linux 操作系统开发环境采用Fedora版本,它已经支持中文,并且包含了绝大部分的开发工具,不用担心装了Linux 就不能使用Windows 的问题。一般的情况都是用户已经有了Windows操作系统,再安装Linux,Linux会自动安装一个叫作GRUB 的启动引导软件,可以选择引导多个操作系统。

由于目前PC机器性能的条件优越,可以选择第二种开发方式,使用Windows XP系统运行Vmware 虚拟机,在虚拟机中运行Fedora系统,而且Windows 系统下有很多好用的开发软件,如Xshell、Sourceinsight等。

2.嵌入式系统Linux开发环境构建方法

绝大多数Linux 软件开发都是以native 方式进行的,即本机(HOST)开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具。通常嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编译调试环境建立在宿主机(即一台PC)上,对应的开发板叫作目标板。

运行Linux的PC称即为宿主机,开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码(这种可执行代码并不能在宿主机上执行,而只能在目标机上执行),然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口、以太网口等,具体使用哪种调试方法可以根据目标机处理器提供的支持作出选择。宿主机和目标机的处理器一般不相同,宿主机一般为X86体系结构(如Intel处理器),而目标机为ARM体系结构(如三星S3C2440 处理器)。GNU编译器提供这样的功能,在编译器编译时可以选择开发所需的宿主机和目标机从而建立开发环境。所以在进行嵌入式开发的第一步工作就是安装一台装有指定操作系统的PC作为宿主开发机,对于嵌入式Linux,宿主机上的操作系统一般要求为Redhat Linux。嵌入式开发通常要求宿主机配置有网络,支持NFS(为交叉开发时mount 所用)。然后在宿主机上建立交叉编译调试的开发环境。环境的建立需要许多软件模块协同工作,这将是一项比较繁杂的工作。

对开发PC的性能要求:由于Fedora安装后占用空间约为2.4GB~5GB之间,还要安装ARM-Linux开发软件,因此对开发计算机的硬盘空间要求较大。

宿主机PC硬件要求如下。

CPU:高于奔腾1GB,推荐高于赛扬1.7GB;

内存:大于256MB,推荐1GB;

硬盘:大于40GB,推荐大于80GB。

1.6 Linux操作系统常用命令

1.6.1 Linux文件与目录

1.Linux文件

Linux主文件系统采用ext2/ext3文件系统,在系统启动后利用VFS(Virtual File System)文件系统集成其他格式的文件系统,实现多种文件系统在Linux中共存的局面。

Linux文件系统采用树形目录结构,将主文件系统ext2/ext3的根目录作为整个系统的根目录,其他文件系统挂载到Linux文件系统中,并且由VFS来管理。其他文件系统作为整个文件系统的一棵“子树”,经常挂载到主文件系统的/mnt目录下。

Linux中有四种基本文件类型,分别为普通文件、目录文件、符号链接文件和设备文件,此外,还有一些其他类型的文件,如命名管道文件、socket文件等。可用file命令来识别指定文件的类型。

普通文件:如文本文件、源代码文件、Shell脚本文件、二进制的可执行文件、二进制的数据文件等。在图形界面下,用与文件属性相匹配的图标表示;在终端命令ls中,用“-”表示。

目录文件:储存文件名的唯一地方,其中包括所属的文件名、子目录名及其指针。在图形界面下,用文件夹图标表示;在终端命令ls中,用“d”表示。

符号链接文件:指向某个文件存储位置的指针,也称为软链接文件或符号链接文件,硬链接文件或物理链接文件见本书后面的ln命令部分。在图形界面下,文件名以斜体显示;在终端命令ls中,用“l”表示,并且文件名后面以“->”指向所链接的文件。

设备文件:表示如磁盘、终端、打印机等设备的一类文件,以便用户像操作文件一样来操作设备,这些文件常放在/dev目录内。例如,光驱的设备文件为“/dev/cdrom”,第一块IDE接口硬盘的设备文件为“/dev/hda”,系统终端的设备文件名为“/dev/systty”。根据设备与系统内存交换数据的方式将设备分为块设备和字符设备,块设备以数据块为单位与系统内存交换数据,字符设备以单个字节为单位与系统内存交换数据。在图形界面下,分别用不同的图标区分块设备与字符设备;在终端命令ls中,用“b”表示块设备,用“c”表示字符设备。

命名管道文件:系统中进程之间以命名管道形式通信时所使用的一种文件。在图形界面下,用水龙头形状的图标表示;在终端命令ls中,用“p”表示。

socket文件:主机之间以socket形式通信时所使用的一种文件。在图形界面下,用电源插头形状的图标表示;在终端命令ls中,用“s”表示。

2.Linux目录

Linux文件系统中有一些常用的目录,这些目录中存放指定的内容,如下所示。

/etc:包含大多数引导和配置系统所需的系统配置文件,如host.conf、httpd、fstab等,另外,还有大量的配置文件保存在子目录中,如sshd_config保存在目录/etc/ssh/中,lvm.conf保存在目录/etc/lvm/中。

/lib:包含c编译程序所需要的函数库,这些函数库以二进制文件形式存在。

/usr:包含其他一些子目录,如src、bin等,其中src子目录中存放Linux的内核源代码,/bin子目录中存放已经安装的程序语言的命令,如javac、java、gcc、perl等。

/var:包含一些经常改变的文件,如日志文件。

/tmp:存放用户和程序所产生的临时数据文件,系统会定时清除该目录中的内容。

/bin:大多数普通用户使用的命令文件存放在此。

/home:普通用户主目录默认存放在此,系统管理员增加新用户时,若没有特别指明用户主目录,则系统会在此处自动增加与用户同名的目录作为用户主目录。

/dev:包含系统中的设备文件,如fd0、hda等。

/mnt:其他文件系统的挂载点。1.6.2 Linux文件与目录常用命令

在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘上的“Tab”键补全文件名的后面部分,若输入的字符是多个文件名的起始字符,则系统列出这些文件。

按键盘上的“↑”、“↓”键,可以翻阅以前使用过的命令,也可以输入命令“history”查看以前使用过的命令。

Linux系统具有非常丰富的命令,绝大多数命令具有大量的参数,要对这些命令进行详细描述需要大量篇幅,在此,仅对嵌入式开发过程中经常用到的命令进行简单介绍,其他命令请参考相关资料或通过在线帮助(如在命令后面加参数“—help”或用“man 命令”可以取得命令的详细用法)。

1.ls命令

使用权限:所有使用者。

使用方式:ls[-alrtAFR][name...]。

说明:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。

选项如下。

-a:显示所有档案及目录(ls内定将档案名或目录名称开头为“.”的视为隐藏档,不会列出)。

-l:除档案名称外,亦将档案形态、权限、拥有者、档案大小等资讯详细列出。

-r:将档案以相反次序显示(原定依英文字母次序)。

-t:将档案依建立时间之先后次序列出。

-A:同-a,但不列出“.”(目前目录)及“..”(父目录)。

-F:在列出的档案名称后加一符号,如可执行档则加“*”,目录则加“/”。

-R:若目录下有档案,则以下之档案亦皆依序列出。

在命令使用中可以结合文件名通配符。Linux的命令中可以使用文件名通配符“*”、“?”和“[]”,其中“*”代表任意个字符,如t*代表以字母t开头的所有文件名,包括t、t12345、ttt.txt等;“?”代表1个字符,如t?代表以字母t开头的、文件名长度为2的所有文件名,包括tt、t6、tp等,但不包括ttt、tpppp等;“[]”表示所包括的字符,如t[123]t表示文件名t1t、t2t、t3t。

范例如下。

列出目前工作目录下所有名称是 s 开头的档案,越新的排得越靠后:ls-ltr s*。

将/bin目录以下所有目录及档案详细资料列出:

列出目前工作目录下所有档案及目录;目录于名称后加“/”,可执行档于名称后加“*”:

2.chmod命令

使用权限:所有使用者。

使用方式:chmod[-cfvR][-help][-version]mode file...。

说明:Linux/Unix的档案存取权限分为三级:档案拥有者、群组、其他。利用chmod可以修改档案权限。

Mode:权限设定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。

+表示增加权限,-表示取消权限,=表示唯一设定权限。

r 表示可读取,w表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或该档案已经被设定过为可执行。

-c:若该档案权限确实已经更改,才显示其更改动作。

-f:若该档案权限无法被更改也不要显示错误信息。

-v:显示权限变更的详细资料。

-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)。

-help:显示辅助说明。

-version:显示版本。

在Linux系统中,针对某个文件,将操作该文件的用户分为三类。(1)文件的所有者,用单词user的第一个字母u表示;(2)同组用户,即与文件的所有者具有相同组ID的用户,用单词group的第一个字母g表示;(3)其他用户,即与文件的所有者不同组的用户,用单词other的第一个字母o表示。

此外,将上述三类用户合起来称为所有用户,用单词all的第一个字母a表示。

文件有三种基本的操作权限,分别为:(1)读权限,表示用户可以读取文件的内容,用单词read的第一个字母r表示;(2)写权限,表示用户可以修改文件内容或删除文件,用单词write的第一个字母w表示;(3)执行权限,表示用户可以执行文件,对于目录文件,表示用户可以进入该目录,用单词execute的第二个字母x表示。

对文件操作的三类用户和文件的三种操作权限进行组合,形成文件的授权属性,分三组,每组三位,分别用字母表示用户和操作权限;第一组表示文件主的操作权限,第二组表示同组用户的操作权限,第三组表示其他用户的操作权限,无操作权限的位置用符号“-”表示。举例如下:

rwxr-xr-//文件主具有读、写和执行权限;同组用户具有读和执行权限;其他用户仅有读权限。

文件的授权属性经常用9位二进制数记录,有权限的位设为1,无权限的位设为0,用三位八进制数表示,举例如下。

754//转换为二进制数为111101100,表示文件主具有读、写和执行权限;同组用户具有读和执行权限;其他用户仅有读权限。

范例:将档案file1.txt 设为所有人皆可读取:

将档案file1.txt设为所有人皆可读取:

此外chmod也可以用数字来表示权限,如 chmod 777 file。

语法为:

其中a,b,c各为一个数字,分别表示User,Group及Other的权限。

若要rwx属性,则4+2+1=7;

若要rw-属性,则4+2=6;

若要r-x属性,则4+1=7。

范例:

效果相同

效果相同

用chmod 4755 filename可使此程式具有root的权限。

3.cp命令

使用权限:所有使用者。

使用方式:cp[选项]源文件 目标文件。

说明:将给出的文件或目录复制到指定的文件或目录中。

-a:该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制子目录中的内容,其作用等于dpr选项的组合。

-d:复制时保留链接。

-p:除复制源文件的内容外,还将把其最后修改时间和访问权限也复制到目标文件中。

-r:若源文件是目录文件,cp将递归复制该目录下所有的子目录和文件,目标文件名必须为一个目录文件名。

-l:不作复制,只是链接文件。

cp命令使用中用到路径的概念。路径指访问某个文件或进入某个目录时所经过的其他目录的目录名所形成的字符串,目录名之间用“/”分开。路径分相对路径和绝对路径,相对路径指从当前目录出发到指定目录所形成的目录名字符串,绝对路径指从根目录出发到指定目录所形成的目录名字符串。例如“examples/c/”为相对路径,“/home/zhaoh/examples/c/”为绝对路径。

下面是一些特殊的目录。(1)/:表示根目录;(2).:表示当前目录;(3)..:表示当前目录的上级目录;(4)~:表示用户家目录。

范例:

cp 1.txt/home/bright/2.txt//将当前目录中的文件1.txt复制到目录/home/bright/中,文件名为2.txt。

cp-r/home/bright/cml/home/bright/yxj//将/home/bright/cml目录中的所有文件及其子目录复制到目录/home/bright/yxj中。

cp/home/user/*.txt//将/home/user/目录下以.txt为后缀的文件复制到当前目录中。

4.tar命令

使用权限:所有使用者。

使用方式:tar 主选项[辅选项]文件名,其中,主选项是必需的,辅选项可选。

说明:文件和目录的备份命令,能够将指定的文件和目录打包成一个归档文件即备份文件。

主选项如下。

-c:创建新的归档文件。

-r:把要备份的文件和目录追加到归档文件的末尾。

-t:列出归档文件的内容。

-u:用新文件替换归档文件中的旧文件,若归档文件中没有相应的旧文件,则把新文件追加到备份文件的末尾。

-x:从归案文件中恢复文件。

辅助选项如下。

-b:该选项是为磁带机设定的,其后跟一数字,用来说明数据块的大小,系统预设值为20(20*512 bytes)。

-f:使用归档文件或设备,这个选项通常是必选的。

-k:还原备份文件时,不覆盖已经存在的文件。

-m:还原备份文件时,把所有文件的修改时间设定为现在。

-M:创建多卷的归档文件,以便在几个磁盘中存放。

-v:详细报告tar处理的文件信息。如果无此选项,tar不报告文件信息。

-w:每一步都要求确认。

-z:用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

-j:用bzip2来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

-Z:调用compress来压缩归档文件,与-x联用时调用uncompress完成解压缩。

-C:配合主选项“x”,指明解压文件要存储的目录。

范例如下。

tar-cvf etc.tar/etc//将目录/etc下的所有文件和子目录备份打包到当前目录下的文件etc.tar中,并显示打包过程。

tar-czvf etc.tar.gz/etc//将目录/etc下的所有文件和子目录备份打包并以gzip格式进行压缩,形成文件etc.tar.gz,并显示过程。

tar-cjvf etc.tar.bz/etc//将目录/etc下的所有文件和子目录备份打包并以bzip2格式进行压缩,形成文件etc.tar.bz2,并显示过程。

tar-xZvf etc.tar.z//解压缩并还原归档文件etc.tar.z中的文件和目录。

tar-xjvf yaffs.tar.bz2-C/mnt/yaffs//将压缩文件yaffs.tar.bz2中的内容加压到目录/mnt/yaffs中。

5.mount命令

使用权限:所有使用者。

使用方式:mount[选项][挂载点],其中选项是对mount命令要执行功能的进一步说明,挂载点表示被挂载的文件系统的根目录在当前文件系统中的位置。

说明:挂载其他文件系统到当前文件系统中,被挂载的文件系统必须是当前Linux系统所能识别的系统。

选项如下。

-a:挂载/etc/fstab文件中所列的全部文件系统。

-t:指定所要挂载的文件系统名称,系统所支持的文件系统信息在/proc/filesystems文件中保存。

-o:后跟指定选项,如nolock、iocharset等,选项之间用逗号分隔。

-n:挂载文件系统但是不把所挂载文件系统的信息写入/etc/mtab文件中,/etc/mtab文件中保存当前所挂载文件系统的信息。

-w:将所挂载的文件系统设为可写,但是所挂载的文件系统本身可写时,该选项才有效,例如,以可写形式挂载CDROM到系统中,但仍然不能写数据到CDROM中。

-r:将所挂载的文件系统设为只读。

-h:mount命令的使用帮助。

范例如下。

mount//查看当前所挂载的文件系统信息。

mount-t vfat/dev/hda2/mnt/vfat//将位于hda2分区的FAT格式的文件系统挂载到目录/mnt/vfat/下。

mount-w-t nfs 192.168.0.6:/test/mnt/nfs//将主机192.168.0.6中的目录/test/以网络文件系统、可读写的方式挂载到目录/mnt/nfs/中。主机192.168.0.6必须启动NFS服务并在配置文件中设置目录/test/可以读写,并且当前用户对目录/test/有读写权限。

mount-t nfs-o nolock,rw 192.168.0.6:/test/mnt/nfs//将主机192.168.0.6中的目录/test/以网络文件系统、非锁定、可读写的方式挂载到目录/mnt/nfs/中。1.6.3 输入/输出转向和管道命令

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载