1、学习学习嵌入式控制系统嵌入式控制系统的意义的意义 激烈竞争的需要 技术发展的需要 本课程控制类的专业课,涉及到当今工业自动化、通信电子等许多领域的核心技术;综合型人才培养的需要 是一门软件与硬件技术相融合、理论与实践相结合的综合课程;一、嵌入式系统简介一、嵌入式系统简介3、嵌入式系统相关概念嵌入式微处理器实时操作系统分时系统多任务操作系统二、嵌入式系统的构成二、嵌入式系统的构成嵌入式系统由硬件和软件两部分组成。l 硬件包括微处理器、存储器、外部设备和I/O端口、图形控制器等。l 软件部分包括操作系统(一般要求实时多任务操作系统)和应用程序。有时,设计人员把硬、软件组合在一起,作为一个软件系统来
2、安装。二、嵌入式系统的构成二、嵌入式系统的构成-硬件硬件硬件系统l以嵌入式微处理器为核心l主要由嵌入式微处理器l总线l存储器l输入/输出接口二、嵌入式系统的构成二、嵌入式系统的构成-硬件系统硬件系统嵌入式微处理器l 每个嵌入式系统至少包含一个嵌入式微处理器。l 嵌入式微处理器体系结构可采用冯诺依曼结构或哈佛结构;l 指令系统可采用精简指令集或复杂指令集。二、嵌入式系统的构成二、嵌入式系统的构成-硬件系统硬件系统2.总线微处理器需要与一定数量的组件和外围设备连接,为了简化硬件电路和系统结构,常用总线将CPU与各组件和外围设备进行连接。二、嵌入式系统的构成二、嵌入式系统的构成-硬件系统硬件系统3.
3、存储器嵌入式系统的存储器分为三级l高速缓存Cachel主存l外存二、嵌入式系统的构成二、嵌入式系统的构成-硬件系统硬件系统4.输入输出接口和设备l嵌入式系统是面向应用的,不同的应用所需的接口和外设不同。l在嵌入式系统中,通常把大多数接口和部分外设集成到嵌入式处理器上,如Timer、RTC、UART、GPIO、USB、A/D、D/A、LCD Controller、DMA控制器和中断控制器等。二、嵌入式系统的构成二、嵌入式系统的构成-软件系统软件系统 嵌入式软件包括嵌入式系统软件、支撑软件嵌入式软件包括嵌入式系统软件、支撑软件和应用软件。和应用软件。嵌入式系统软件,是指控制、调度嵌入式系统资源的软
4、件,主要包括嵌入式操作系统等。嵌入式支撑软件,是指辅助应用软件开发的工具软件,包括系统分析设计工具、仿真开发工具、交叉开发工具、测试工具、配置管理工具和系统维护工具等。嵌入式应用软件,是指嵌入式系统中面向特定应用的软件。三、嵌入式系统的特点三、嵌入式系统的特点l系统内核小。l专用性强。l系统精简。l硬实时性。l多任务处理功能。四、嵌入式系统的分类四、嵌入式系统的分类其分类可以从硬件和软件进行划分。从硬件方面来讲,各式各样的嵌入式处理器是嵌入式系统硬件中的最核心的部分。根据其现状,嵌入式处理器可以分成下面几类:1.嵌入式微控制器(Microcontroller Unit,MCU)2.数字信号处理
5、器DSP(Digital Signal Processor,DSP)3.微处理器(Micro Processing Unit,MPU)4.嵌入式片上系统(System on Chip)五、嵌入式系统的应用领域五、嵌入式系统的应用领域 嵌入式系统小型化、专用性、高可靠性的优点,广泛应用于消费电子、通信、汽车、国防、航空航天、工业控制、仪表和办公自动化等领域。六、嵌入式系统的现状与发展趋势六、嵌入式系统的现状与发展趋势 随着网络化、信息化、智能化的发展,嵌入式系统也将获得广阔的发展空间。嵌入式技术已全面展开,目前已成为工业控制、通信和消费类产品的共同发展方向。未来嵌入式系统的发展趋势未来嵌入式系统
6、的发展趋势 嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供相关的硬件开发工具和软件包支持。网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。随着信息化建设的不断深入,嵌入式系统的网络互联成为必然趋势。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。嵌入式系统要求精简系统内核、,降低系统功耗和软硬件成本。嵌入式系统提供友好的多媒体人机界面。思思 考考 题题 1 什么是嵌入式系统?2 与常用的计算机系统相比,嵌入式系统的特点有哪些?3
7、 嵌入式系统如何分类?4 嵌入式系统主要应用于哪些领域?5 嵌入式系统的发展趋势是什么?本章学习以下内容:本章学习以下内容:本章从如何搭建一个嵌入式系统的角度,对嵌入式处理器、工业控制总线以及外部设备分别做了介绍。为今后的嵌入式硬件选择打下基础。l 嵌入式处理器l 工业控制总线l 外部设备第第2 2章章 嵌入式系统硬件平台嵌入式系统硬件平台 2.1 嵌入式处理器 2.2 工业控制总线 2.3 嵌入式外部设备2.1 2.1 嵌入式处理器嵌入式处理器 各式各样的嵌入式处理器是嵌入式系统硬件中最核心的部分。嵌入式处理器分为嵌入式微控制器,嵌入式微处理器,嵌入式片上系统,数字信号处理器等,下面分别对它
8、们进行介绍。2.1.1 2.1.1 嵌入式微控制器(嵌入式微控制器(Micro Micro Controller UnitController Unit,MCUMCU)嵌入式微控制器将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据应用要求,在芯片内部集成了ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种功能部件和外设。图2-1 嵌入式微控制器结构MC9S12DP256MC9S12DP256微控制器微控制器 MC9S12系列是MOTOROLA公司开发的高性能16
9、位微控制器(MCU)它具有丰富的输入输出接口,较强的数值运算和逻辑运算能力,特别还具有较强的定时控制功能,使其适用于复杂时序控制。图2-2MC9S12DP256结构框图 简单的背景开发模式(BDM)PC主机 目标板 单线开发器(BDM头)2.1.2 2.1.2 嵌入式微处理器嵌入式微处理器嵌入式微处理器一般具备4个特点:1)对多任务和实时有很强的支持能力。能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;2)具有功能很强的存储区保护功能。为避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;3)可扩展的微处理器结
10、构。即能迅速地扩展出满足应用的高性能的嵌入式微处理器;4)嵌入式微处理器的功耗必须很低。尤其是便携式的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mW甚至W级。嵌入式微处理器目前主要有ARM(ARM7、ARM9、ARM10系列)、INTEL(SA、PXA、Xscale等系列)、IBM(PowerPC系列)、Motorola(68K、MC68、ColdFire、MPC、HC等系列)、VIA威盛(C3、Antaur、Eden等系列)、Texas Instruments德州仪器(TMS320、OMAP等系列)、Philips(Trimedia系列)、AMD(DB系列)、SuperH(S
11、H、Crusoe、MIPS等系列)等,国内研华、研祥、同维电子等公司也有自己的产品。我国32位嵌入式微处理器“方舟3号”已问世,它是32位微处理器,采用0.18微米工艺和超流水线结构,频率将达到500Mhz以上,具有数字处理增强支持功能。2.1.32.1.3嵌入式片上系统嵌入式片上系统 SoC通常将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上。SoC可以使应用产品实现小型、轻量、低功耗、多功能、高速度和低成本,因此具备较强的市场竞争力,主要广泛用于计算机、通信、消费、工控、交通运输等领域。1.SoC1.SoC研究内容研究内容SoC沿CSoC、SoPC、ASIC
12、 SoC这三个方向发展,但最具挑战性的还是ASIC SoC研究领域。SoC设计方法学主要研究总线架构技术、IP核可复用技术、可靠性设计技术、软硬件协同设计技术、SoC设计验证技术、芯片综合/时序分析技术、可测性/可调试性设计技术、低功耗设计技术、新型电路实现技术等,此外还要做操作系统/嵌入式软件移植、开发研究,是一门跨学科的新兴研究领域。2.SoC2.SoC分类分类 SoC按实现技术可分为三类:一类是CSoC,当前仍以学术研究机构为主导,注重体系结构探索性工作;另一类是SoPC,以FPGA 厂商和科研机构为主导,适合多品种少批量产品开发;第三类是ASIC SoC,以微处理器和芯片设计公司为主导
13、,追求良好的性价比,适合大批量规模生产;3.SoC3.SoC产品介绍产品介绍 SoC品种日益繁多,在关注面积、延迟、功耗的基础上,设计目标在向高成品率、高可靠性、低EMI噪声、低成本、高易用性等方面转移,这将使系统级集成能力快速发展。4.SoC4.SoC技术发展方向与前景技术发展方向与前景 1)计算机学科提升SoC技术水平 2)SoC推动计算机体系结构发展 3)SoC开创了交叉学科发展的新天地2.1.4 2.1.4 数字信号处理器数字信号处理器(Digital Signal ProcessorDigital Signal Processor,DSPDSP)数字信号处理是一种通过使用数学技巧执行
14、转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。数字信号处理器(DSP)是一类微处理器具有速度快、功能强、实时处理数据的特点。1.1.什么是什么是DSPDSP DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,将其转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。2.DSP2.DSP算法的主要
15、特点及其硬件要求算法的主要特点及其硬件要求 特点:信号处理算法运算量大,要求速度快。不论是一维的语言信号,还是二维的图像信号,一般算法的运算量都很大,且算法的实现都必须实时;信号处理算法通常需要执行大量的乘累加运算。比如FIR滤波算法主要执行的是一个点积运算,也就是以乘、加为主的运算;信号处理算法常具有某些特定模式。比较典型的数字滤波器中的连续推移位;信号处理算法大部分处理时间花在执行相对小循环的操作上;信号处理要求专门的接口。要求:单周期快速运算,允许任意计算次序;单周期内能取两个以上操作数,保证快速的乘累加运算(MAC);能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址;有相应的硬
16、件循环缓冲区,能执行零开销的循环和转移操作;具有串口、DMA控制器、定时器等丰富的外设资源。3.DSP3.DSP的基本结构组成的基本结构组成 1)多总线结构 a)冯诺曼结构 b)哈佛结构 图2-6 两种总线结构框图 程序/数据 存储器 地址总线 地址总线 程序 存储器 数据 存储器 程序地址总线 程序数据总线 数据地址总线 数据数据总线 2)流水线3)硬件乘法器4)多处理单元 5)外围设备4.DSP4.DSP处理器与通用处理器(处理器与通用处理器(General-General-Purpose ProcessorPurpose Processor,GPPGPP)的比较)的比较 1)对密集的乘法
17、运算的支持2)存储器结构3)零开销循环4)定点计算5)专门的寻址方式6)执行时间的预测7)定点DSP指令集8)开发工具的要求5.5.当前主流的当前主流的DSPDSP体系结构体系结构 当前高性能的DSP结构的主要特点就是采用了各种并行处理技术,它可由两个途径实现:一种途径是基于VLIW、类RISC指令集等技术来增加单时钟周期并发的指令数;另一种途径是通过SIMD、增大总线字长或增加指令字的长度等技术来增加单指令周期并行执行的处理单元个数。2.1.5 2.1.5 其他嵌入式微处理器其他嵌入式微处理器1.MIPS:Microprocessor without Interlocked Pipeline
18、 Stages的缩写,是一种微处理器内核标准如右图图2-7 MIPS微处理器产品结构2.PowerPCPowerPC架构的特点是可伸缩性好,方便灵活。PowerPC微处理器品种很多,既有通用的微处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。3.68K/ColdfireMotorola 68000(68K)很早就进入嵌入式微处理器市场。SUN也把这款微处理器用于其最早的工作站,现在68K芯片已经完全应用到嵌入式系统中去。由于68K使用了个人电脑CPU常用的CISC架构,因此它与现在的PC指令集保持了二进制兼容。
19、基于68K/Coldfire架构的嵌入式微处理器如:MCF5272微处理器是基于第二代ColdFire V2核心,在66MHz下操作速度为63Dhrystone 2.1MIPS,是迄今最高的V2性能。2.2 2.2 工业控制总线工业控制总线 总线是指一组进行互连和传输信息(指令、数据和地址)的信号线,是连接系统各个部分之间的桥梁。微处理器需要通过总线与一定数量的部件和外围设备连接。嵌入式系统的总线一般分为片内总线和片外总线。片内总线就是嵌入式微处理器内的CPU与片内其他部件连接的总线;片外总线是嵌入式微处理器与外围芯片连接的总线。在本书介绍的控制系统中总线是指片外总线。目前常用的总线有ISA总
20、线、PCI总线、ARM总线等。下面着重介绍PC/104总线。PC/104是一种专门为嵌入式控制而定义的工业控制总线,近年来在国际上广泛流行,被IEEE协会定义为IEEE-P996.1。在硬件上与PC/AT主要存在着以下几方面的不同:1)小尺寸结构:标准模块的机械尺寸是3.63.8英寸,即9690mm如图2-8所示。2)堆栈式连接:去掉总线背板和插板滑道,总线以“针”和“孔”形式层叠连接,即PC/104总线模块之间总线的连接是通过上层的针和下层的孔相互咬合相连,这种层叠封装有极好的抗震性。3)轻松总线驱动:减少元件数量和电源消耗,4mA总线驱动即可使模块正常工作,每个模块的能耗为1-2瓦。4)独
21、立的模块堆栈:PC/104模块是自我堆栈式。这方式中,模块是被用作全兼容的总线底板,但是不需要背板或插槽叠成的,每个模块留出 0.6英寸间距。图2-8 PC/104的基本尺寸(8位)2.2.12.2.1总线结构总线结构1.PC/104 图2-9 PC/104的8位总线图 图2-10 模块自我堆栈 2)PC/104plusPC/104plus为单列三排120个总线管脚,有效信号线、控制线和PCI总线完全兼容。与计算机一样,一个计算机主板可以同时拥有PC/AT和PCI总线,一个PC/104 CPU模块则可以同时拥有PC/104和PC/104plus总线。PC/104PLUS 是专为PCI总线设计的
22、,可以连接高速外接设备。PC/104PLUS 在硬件上通过一个3X40即120孔插座,PC/104PLUS包括了PCI规范2.1版要求的所有信号。为了向下兼容,PC/104PLUS保持了PC/104的所有特性。PC/104模块的扩展和应用是灵活的,通常使用PC/104的方法有:1)一个单独的PC/104模块可以作为一个独立的系统使用。2)PC/104模块能够作为一个成员被嵌入到一个更大的系统中去。3)各种类的PC/104模块能够被堆叠在一起组成一个系统。图2-11 PC/104和PC/104PLUS2.2.22.2.2电器特性电器特性 全部PC/104总线信号都和它们的P996对应部分在定义和
23、功能上相同。图2-12 PC/104的16位总线图 J2 J1 2.32.3嵌入式外部设备嵌入式外部设备 嵌入式外部设备主要是指一些嵌入式系统的一些辅助性设备,如LCD、USB接口设备、串行通信、外部存储器、键盘、网络接口等。2.3.1 LCD2.3.1 LCD 1.LCD分类:就使用范围分,LCD可分为笔记本电脑(Notebook)LCD以及桌面电脑(Desk Top)LCD。2.LCD液晶显示器具有以下五大优点:1)超精致影像画质。2)十足平面显示:液晶显示技术体积更加扁平、轻巧。3)节省空间。4)节约能源。5)有利健康:LCD无辐射、无闪烁,因而会使使用者眼睛感觉非常舒适。2.3.2 U
24、SB2.3.2 USBUSB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。USB设备之所以会被大量应用,主要具有以下优点:1.可以热插拔2.携带方便3.标准统一4.可以连接多个设备图2-14 USB接口的引脚定义2.3.32.3.3串行通信串行通信 串行接口是微机应用系统常用的接口。图2-15 串行通信时序图 2.3.4 2.3.4 嵌入式存储设备嵌入式存储设备 嵌入式存储器用于存储操作微处理器器件所需的各种指令或数据。电子硬盘,简单的说就是用固态电子存储芯片阵列制成的硬盘。目前最常见的电子硬盘为Flash电子硬盘。参参 考考 题题1.嵌入式微控制器的硬件结
25、构包含哪几个部分?其功能是什么?2.嵌入式微处理器有哪几个特点?ARM微处理器的性能特性是什么?ARM系列微处理器都有哪几个系列,其特点是什么?3.x86有常用的微处理器?其功能特点是什么?4.什么是SoC?SoC的研究内容包括几个方面,分成几类,其特点是什么?5.什么是DSP?其主要特点是什么?DSP的基本结构有哪几个组成?DSP处理器与通用处理器的比较有哪些?主流的DSP体系结构有哪些?6.什么是总线,常用的总线有哪几个?什么是PC/104,PC/104在硬件上与PC/AT主要存在着哪几方面的不同?其电器特性如何?7.嵌入式系统的外部设备包括哪些?8.LCD的优点是什么?LCD分成几类?什
26、么是USB?USB有哪些优点?9.什么是串行通信?串行接口的结构如何?什么是电子硬盘?常用的电子硬盘有哪些?10.搭建一个嵌入式控制系统,如何选用硬件设备?第第3 3章章 嵌入式系统软件平台嵌入式系统软件平台本章主要学习以下内容:l 嵌入式操作系统概述l 嵌入式操作系统体系结构l 常用嵌入式操作系统l 嵌入式操作系统的开发通过本章的学习,要求对嵌入式操作系统的概念,分类,特点,发展,设计目标,体系结构,常用的嵌入式操作系统以及嵌入式操作系统的开发、定制方法有一个基本的了解。3.1 3.1 嵌入式操作系统概述嵌入式操作系统概述 作为嵌入式系统灵魂的嵌入式操作系统是随着嵌入式系统的发展而出现的,它
27、是当代计算机飞速发展而带来的硬件小型化、微型化,以及软件技术深入发展的产物。嵌入式操作系统的出现,大大提高了嵌入式系统开发的效率,改变了以往嵌入式软件设计只能针对具体的应用从头做起的历史。在嵌入式操作系统之上开发嵌入式系统将减少开发的工作量,增强嵌入式应用软件的可移植性,使嵌入式系统的开发方法更具科学性。可以说,嵌入式操作系统的出现为嵌入式系统的发展铺平了道路。嵌入式操作系统的概念及分类嵌入式操作系统的概念及分类 嵌入式操作系统是一种支持嵌入式系统应用的系统软件,它是嵌入式系统的重要组成部分。嵌入式操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,完成进程管理、处理器调度、存储管
28、理、设备管理、中断处理等操作系统任务。它通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等软件模块。嵌入式操作系统能够把硬件虚拟化,使得开发人员从繁琐的驱动程序开发、移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比,嵌入式操作系统在系统实时性、硬件的相关依赖性、软件固态化以及应用的专门性等方面具有较为突出的特点。1.从应用角度分类l 通用型嵌入式操作系统 常见的通用型嵌入式操作系统有Windows CE.net、嵌入式Linux、VxWorks等l 专用型嵌入式操作系统 常用的专用型嵌入式操作系统有Smart Ph
29、one、Pocket PC、Symbian。2.嵌入式操作系统按实时性可以分为两类:l 实时嵌入式操作系统。主要面向控制、通信等领域,如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus。l 非实时嵌入式操作系统。主要面向消费类电子产品,包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。如微软面向手机应用的Smart Phone操作系统。嵌入式操作系统特征和功能嵌入式操作系统特征和功能l嵌入式操作系统负责嵌入式系统的全部软、硬资源的分配和调度l控制并协调并发事件,它必须体现其所在系统的特征l能够通过装卸某些模块来
30、达到系统所要求的功能。l与通用的操作系统相比,它具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等EOSEOS特征特征1.可定制性2.可移植性3.实时性4.低资源占有性5.固化代码6.强稳定性 多数EOS必须提供以下管理功能:1.多任务管理2.存储管理3.设备管理4.中断管理嵌入式操作系统的发展简史嵌入式操作系统的发展简史EOS的发展可以分为以下四个阶段:l 第一阶段是以单芯片为核心的可编程控制器系统,具有检测、伺服、指示设备相配和的功能。l 第二阶段是以嵌入式中央处理器(CPU)为基础,以简单操作系统为核心的嵌入式系统。l 第三阶段是以嵌入式操作系统为标志的嵌入式系统。
31、l 第四阶段是以网络应用嵌入式操作系统为标志的嵌入式系统。3.2 3.2 嵌入式操作系统体系结构嵌入式操作系统体系结构l操作系统是计算机系统的重要组成部分,是用户与计算机系统的接口。l在进行操作系统设计前,首先要明确操作系统的设计目标。l嵌入式操作系统是操作系统大家族的一个分支,所以它的设计目标首先应满足一般操作系统的设计目标。一般操作系统的设计目标和特点一般操作系统的设计目标和特点一般说来,一个好的操作系统的设计目标至少应该包括以下几点:l1.正确性和健壮性l2.高效性l3.易维护性l4.可移植性嵌入式操作系统的设计目标和特点嵌入式操作系统的设计目标和特点l嵌入式操作系统在系统实时性、高效性
32、、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。l它除了应该具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还应满足嵌入式系统环境的要求。从系统设计角度看嵌入式系统,它具有如下特点:l1.系统资源有限l2.硬件种类繁多为了满足嵌入式系统的要求,嵌入式操作系统的设计目标至少应该包括以下内容:l 1.低资源占有性l2.开放性、可伸缩的体系结构l3.高可靠性l4.满足实时性要求l 5.较强的网络功能l6.固化代码功能通用操作系统的体系结构通用操作系统的体系结构l操作系统的体系结构问题讨论的是如何把操作系统这一大型软件划分成若干较小的模块以及如何设计模
33、块间接口的问题。l操作系统的体系结构是最能体现操作系统的先进性的问题。常见的操作系统体系结构常见的操作系统体系结构1.无序模块结构2.分层结构3.虚拟机结构4.客户/服务器结构 嵌入式操作系统的体系结构嵌入式操作系统的体系结构嵌入式操作系统的设计应注意以下几点:l内核比通用操作系统更小,将更多的功能放在外部进程实现l采用模块化的设计,使系统可配置性增强l从结构设计上要使平台独立性更强,系统易于向其他平台移植Windows CE.netWindows CE.net操作系统模型操作系统模型Windows CE.net的分层设计,主要考虑了如下因素:1、从接口的角度讲,Windows CE.net要
34、具备面向应用开发和面向系统两个界面。这也是通用操作系统应该实现的两个层面。2、应该有一个层次来实现硬件特点与操作系统本身特性的隔离,以便于实现系统的移植。3、在以上两个层次之外,底层是具体的硬件设备,顶层应该是具体的应用程序。常用嵌入式操作系统常用嵌入式操作系统 早期的嵌入式系统,还没有出现操作系统的概念,大部分功能是用汇编语言编写的应用程序来实现的。C语言的出现促进了嵌入式操作系统的发展。20世纪80年代以来,出现了各种各样的嵌入式操作系统,逐步形成了百家争鸣的局面,较为流行的有VxWorks、Palm OS、嵌入式Linux和Windows CE.Net等等。VxWorks VxWorks
35、 VxWorks是美国WindRiver公司设计开发的一种嵌入式实时操作系统(RTOS)。VxWorks之所以能成功,得益于它的下列几个特点:1)具有一个高性能的操作系统内核Wind。VxWorks的内核Wind是一个具有较高性能的、标准的嵌入式实时操作系统内核,主要特点包括快速多任务切换、抢占式任务调度、任务间通信手段多样化等。2)VxWorks具有友好的开发调试环境,便于操作、配置和应用程序的开发调试。3)VxWorks具有较好的兼容性。4)VxWorks支持多种开发和运行环境。5)在紧跟新技术持续发展方面有一定的能力和经验。在具备上述一些优点的同时,VxWorks自身也有以下一些缺陷。1
36、)VxWorks目前版本的PPP协议有一定局限性。2)VxWorks的任务间通信机制有一定的缺陷。3)开发环境Tornado中项目管理能力不足。Windows CEWindows CEWindows CE 是美国微软公司在嵌入式操作系统上的一个重要产品。Windows CE是一个抢先式多任务并具有强大通信能力的嵌入式操作系统。是一个全新的、可移植的、实时的、模块化的操作系统,具有流行的微软程序开发界面。提供许多快速开发嵌入式系统的工具。嵌入式嵌入式LinuxLinux特性:精简的内核,适用于不同的CPU,支持多种体系结构,如x86,Alpha,Sparc,MIPS,PPC,ARM,NEC,MO
37、TOROLA等。针对嵌入式的存储方案。用户可定制,可提供图形化的定制和配置工具。常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。Palm OSPalm OSPalm OS是由个人数字助理(Personal Digial Assitant,PDA)的先驱者Palm Computing 公司开发的。在PDA市场上,Palm OS是全球最著名、市场份额最大的PDA操作系统。特点:能耗低 合理的内存管理 数据库存储方式pSOSpSOS pSOS是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环境,在定制的或是商业化的硬件上提供高性能和高可靠性。可以让开发者根据操
38、作系统的功能和内存需求定制成每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。pSOS具有可裁剪性,支持多种类型的处理器,其板级支持包(BSP)也比较全。pSOS的主要缺点是上下文切换时间长,实时性不如VxWorks。QNXQNX QNX实时操作系统是加拿大QNX软件系统有限公司(QSSL)的产品 它是一个符合POSIX标准的实时的、可扩充的操作系统。是一个可以应用于多种CPU上的操作系统,包括普通Intel x86兼容处理器和一些RISC处理器(如PowerPC和MIPS)。OS-9OS-9 Microwave的OS-9是为微处理器的关键实时任务
39、而设计的操作系统,广泛应用于高科技产品,包括消费电子产品、工业自动化、无线通讯产品、医疗仪器、数字电视/多媒体设备中 提供了很好的安全性和容错性。与其他的嵌入式系统相比,它的灵活性和可升级性非常突出。LynxOSLynxOS Lynx Real-time Systems的LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统 它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。LynxOS支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征 包括基于调用需求的虚拟内存,一个基于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。嵌入
40、式操作系统的开发嵌入式操作系统的开发嵌入式Linux系统的构造1.嵌入式Linux内核的分析 内核在系统中起到的作用是:从程序员的角度看,操作系统内核提供了一个与计算机硬件等价的扩展成虚拟的计算平台,它抽象了许多硬件细节,程序可以以某种统一的方式进行数据处理,而程序员则可以避开许多硬件细节。从用户的角度看,操作系统是一个资源管理者,用户可以以某种易于理解的方式组织自己的数据。用户应用程序系统库(如:标准C库)内核体系结构无关部分(可移植的)内核体系结构相关部分(不可移植的)硬件内核图3-6 内核在Linux系统中的位置2.开发环境的建立 由于嵌入式系统资源有限,通常是在通用计算机上编好程序,通
41、过交叉编译生成可在目标板运行的二进制代码,然后再下载到目标板上的特定位置运行。所谓交叉编译环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机目标机模式,如图3-7。目标机宿主机嵌入式Linux图3-7 交叉编译环境RS232/Ethernet3.Linux内核的编译 首先编辑Makefile文件。然后在Linux下进入目录/usr/src/linux-2.4进行内核的配置。以make xconfig为例,键入命令后系统配置的界面如图3-8所示。在每一项中都有不同的选项,例如Networking options选项的界面如图3-9所示。满足依赖性以
42、后,就可以建立内核映像。在内核配置中若有选项设为可加载模块,则需建立模块.现在得到了重新编译的内核。内核定制好之后,在系统开机复位后需要有引导程序将其装入内存运行。嵌入式系统的内核加载过程同x86 PC机的有所不同。下面就嵌入式系统中的引导程序Boot Loader进行简要分析。4.嵌入式系统中Boot Loader的分析整个系统的加载启动任务就完全由 Boot Loader 来完成。常用的Boot Loader有blob,U-boot,ARMboot等。这些Boot Loader可以从网络上获得,根据具体的硬件进行修改,最后生成.bin的二进制文件,烧入相应的存储器的前512字节中,从而完成
43、硬件的初始化及内核的引导。5.在CF卡上安装嵌入式Linux操作系统 要在宿主机上将已定制好的内核装入CF卡中并在其上构建操作系统首先需要把CF挂载成宿主机的一个设备。6.嵌入式Linux系统中驱动程序的加载 Linux下对于一个硬件的驱动,可以有两种方式:静态编译到内核代码中,启动内核时就会驱动此硬件设备。另一种就是以模块方式,编译生成一个.o文件。当应用程序需要时再动态加载进内核空间运行。嵌入式系统中通常采用将驱动程序静态编译进内核的方法加载设备的驱动程序。上文提到Linux系统支持三种设备驱动程序:字符设备、块设备和网络设备。7.CLinux7.CLinux内核的特点内核的特点文件系统系
44、统调用处理函数内核初始化库调度器虚拟文件系统管理模块文件系统模块Socket驱动网络模块IPC模块MM模块字符设备驱动块设备驱动Mass设备驱动网络设备驱动Boot Loader捕获Handler驱动图3-10 CLinux基本结构图Windows CE.netWindows CE.net的开发工具的开发工具 在Windows CE.net产品的开发中,有两个重要的方面:一是内核定制,一是应用程序的开发。微软在这两个方面都提供了非常好的开发工具,这就是内核定制工具Platform Builder和应用程序开发工具Embedded Visual C+。1.Platform Builder1.Pl
45、atform Builder简介简介 Platform Builder是微软提供给Windows CE系统开发人员进行嵌入式操作系统Windows CE.net定制和驱动程序开发的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试Windows CE.net操作系统平台的工具。它运行在桌面Windows下,开发人员可以通过交互式的环境来设计和定制内核、选择系统特性、进行编译和调试。此外,开发人员还可以利用Platform Builder进行驱动程序开发和应用程序项目的开发等。Platform Builder的强大功能,已使其成为Windows CE.net平台下嵌入式操作系统开发和定制
46、的必备工具。使用Platform Builder定制一个平台的平台包括1)生成OS Image(包括选择PB中一些现成的可选择项目);2)生成BSP包(包括OAL和驱动程序,PB中有一些现成的可选择项目);3)添加新的组件(包括驱动程序和应用程序);4)修改平台的组件;5)设置平台属性和环境变量;6)设置远程连接属性,以便下载操作系统;7)下载操作系统(包括下载操作系统到硬件平台和下载操作系统到模拟器);8)调试(包括硬件平台调试和模拟器调试)。2.Windows CE.net2.Windows CE.net内核定制内核定制1)完整Windows CE.net系统的内容 建立基本的操作系统镜像
47、建立基本的操作系统镜像 2 2)定制步骤)定制步骤(1)启动Platform Builder(2)新建Platform Builder工程(3)启动工程向导(4)选择开发板支持包(Board Support Packages,BSP)(5)选择基本配置结构(Platform Configuration)(6)选择定制设备的方法(Custom Device)(7)选择基础类库(Applications&Services Development)(8)选择应用程序(Applications-End User)(9)选择操作系统核心服务(Core OS Services)(10)选择通信服务(Com
48、munication Services and Networking)(11)选择文件系统(File System and Data Store)(12)选择字体(Fonts)(13)选择所支持的国家(International)(14)选择Internet程序(Internet Client Services)(15)选择多媒体技术(Multimedia Technologies)(16)选择安全设置(Security)(17)选择操作系统外壳(Shell and User Interface)(18)向导提示信息(19)完成工程向导3)生成操作系统镜像)生成操作系统镜像选择生成版本后,还需
49、要进行如下设置:(1)打开Build菜单,选择Set Active Confoguration项。(2)从显示的列表中选择要生成的镜像版本。(3)打开Platform菜单,选择Setting项。(4)单击Build Options选项卡,选择Enable Full Kernel Mode项。(5)单击Environment选项卡,单击New按钮,在弹出的对话框的Variable Name栏中输入IMGRAM64,Variable Value栏中输入1,然后单击“OK”按钮。这里主要设置一些与操作系统镜像有关的环境变量,如IMGRAM64,这个变量主要是在操作系统镜像过大时,运行系统使用64MB
50、或更大的内存运行系统。(6)单击“OK”按钮关闭Platform Setting对话框。(7)打开Build菜单,选择Build Platform项,系统开始生成镜像文件。(8)在系统Build过程中,有时会出现一些对话框,提示你现在准备将Digital Rights Management或.NET Compact Framework Beta Release等添加到平台中,直接单击“OK”按钮即可。4)调试操作系统镜像 (1)仿真调试操作系统镜像(2)在目标设备上调试操作系统镜像(3)下载操作系统镜像到目标设备思考题思考题1 什么是嵌入式操作系统?2 嵌入式操作系统的特点有哪些?3 嵌入式操
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。