资源描述
嵌入式操作系统-Windows CE嵌入式处理器嵌入式系统的核心部件是各种类型的嵌入式处理器。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器直接关系到整个嵌入式系统的性能。通常情况下嵌入式处理器被认为是对嵌入式系统中运算和控制核心器件总的称谓。嵌入式处理器的寻址空间一般从64kB到16MB,处理速度从0.1到2000 MIPS,封装从8个引脚到144个引脚不等。嵌入式处理器担负着控制、系统工作的重要任务,使宿主设备功能智能化、灵活设计和操作简便。为合理高效的完成这些任务,一般说,嵌入式处理器具有以下特点:很强的实时多任务支持能力,存储区保护功能,可扩展的微处理器结构,较强的中断处理能力,低功耗。嵌入式处理器嵌入式微处理器的基础就是PC中的CPU。在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。嵌入式微处理器一般就具备以下4个特点:1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至W级。嵌入式微控制器又叫单片机,就是将整个计算机系统集成到一块芯片中。为适应不同的应用需求,一般一个系列单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置和封装。单片化是其最大特点。片上外设资源丰富嵌入式DSP处理器DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它具有强大数据处理能力和高运行速度。嵌入式系统的智能化。嵌入式片上系统(SOC)在一个硅片上实现一个复杂的系统。各种通用处理器内核将作为SoC设计公司的标准库。分为通用和专用两类。嵌入式处理器构架主要分为两大体系:精简指令集计算机和复杂指令集计算机。简单指令集计算机(RISC):目的是尽可能的降低指令集结构的复杂性,以达到简化实现,提高性能的目的。复杂指令集计算机(CISC):主要是基于强化指令功能,实现软件功能向硬件功能转移而设计。比如X86处理器。CISC与RISCCISC追求的是强化指令功能,减少程序的指令条数,从而达到提高性能的目的。计算机性能的提高往往是通过增加硬件的复杂性来获得。主要办法是不断增加可实现复杂功能的指令和多种灵活的编址方式。增加了研制时间和成本,增大了设计失误的可能性,增加了指令运行时间,从而降低了机器的运行速率。CISC和RISC不宜采用CISC的主要理由:1.各种指令使用频率相差悬殊。2.指令系统的复杂性带来了系统结构的复杂性,从而增加了设计时间和售价。3.增加了VLSI设计的负担。4.复杂指令操作复杂、速度慢。CISC和RISCRISC的主要特点CISC和RISC的比较分别对应专用机和通用机嵌入式处理器的常见构架基于RISC的ARC架构:ARC600是针对高性能价格比市场 ARC700是针对高效能的弹性应用设计市场。基于RISC的ARM架构:ARM架构主要以指令集来区分。V1-V3 V4 V5 V6 V7 逐步完善基于RISC的MIPS架构:1.MIPS架构的起源 2.MIPS处理器指令时序与优化 3.MIPS架构的限制:1)分支延迟2)载入延迟3)整数乘法与除法4)浮点运算单元5)处理器控制指令基于RISC的PowerPC:PowerPC是一种RISC多发射体系结构。PowerQUICC系列微处理器一般有三个功能模块组成,分别是嵌入式PowerPC核(EMPCC),系统接口单元(SIU)以及通信处理器(CPM)模块。PowerPC一般应用在服务器或运算能力强大的专用计算机和游戏机上。基于RISC的Tensilica架构:Tensilica公司的Xtensa处理器是一个自由配置、弹性扩展,并自动合成的处理器核心。Xtensa产生器可以针对每一个处理器的特殊组合,自动有效的产生出一套包括操作系统极其完善周全的软件工具。基于CISC的X86基于CISC的VIA基于CISC的AMD存储器与外设接口抽象的存储总线存储器的数据总线、地址总线、片选信号和读写信号是最重要的四组信号线。这四组信号线有一个更大总线的名称叫存储总线存储总线上的存储器存储总线上的外设:芯片的设计者为每一个存储单元甚至是每一个比特都规定了特别的含义。其他形式的总线:一些对通信带宽要求不高的芯片通常不会提供存储总线接口,而提供一些串行的、甚至是慢速的接口。总线桥、存储器控制器静态存储器与动态存储器主要体现的是时序。时序:通俗的说就是为了保证芯片正常工作,各个信号必须保证的时间关系。虚拟地址和实地址存储管理单元(MMU):通常位于处理器内部。使用MMU的原因:1)虚拟内存:实现该功能需要MMU的支持。2)计算机本身稳定性:利用MMU来保护自己和整个计算机。存储管理单元的机制:1.MMU为每个进程都准备了一张表。2.MMU没有为每一个存储器单元设置一个表项,而是为每一个内存范围设置一个表项,称为一页。所以其控制粒度是页。3.MMU需要得到外部存储器的支持。4.程序在执行存储器访问的时候,至少先得等MMU访问一次存储器得到进程的虚拟地址/物理地址对应项后,才能进行实际的数据读写操作。通常会设计一个快表,用于加快系统访问存储器的时间。系统运行机制系统启动:程序计数器 处理器上电 启动项运行MMU:启动后用的地址是虚拟地址,因此编译时变量也只能采用虚拟地址。编译前开发人员必须实现确定一个物理地址与虚拟地址的对应关系,这个对应关系由操作系统使用。外设与处理器:处理器的主要工作就是不停地在外设之间处理数据。处理器处理外设间数据的方式:1.轮询:效率很低 2.中断异常处理程序:与中断的区别在于中断通常指的是由外部引起的,异常则是由处理器内部引起的。中断与DMA结合:提高设备处理数据的能力。Windows CE 6.0 系统结构概览体系结构继承了Windows CE系列操作系统一贯的层次化和模块化的特点。从逻辑结构上分为硬件、OEM(原始设备制造商)、操作系统和应用软件四层。硬件层:指嵌入式平台。可以支持不同的SoC芯片和外设。OEM层:是为了方便操作系统的移植,而把操作系统与硬件互交的接口单独抽象出来的一层代码。操作系统层:由内核模块、图形模块、文件和存储模块、设备管理和加载系统的服务模块等组成。是Windows CE的核心。应用软件层:是Windows CE自身的应用软件。OEM层OEM层的主要作用是对具体的硬件进行抽象,形成统一的接口,使得CE内核可以通过这些接口与硬件进行通信。OEM层的代码又叫板级支持包(BSP)引导装载程序:是系统加电后运行的第一段软件代码。主要任务是初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。OEM适配层:主要实现硬件抽象和启动内核的功能。在物理上OAL是内核的一部分。通常是内核启动执行的第一段代码。驱动程序:包含特定开发板上所有外设的驱动程序。这样才能使Windows CE内核充分发挥该开发板的性能。配置文件:作用是告诉Windows CE的构建系统该BSP中包含了哪些组件,应该怎么去编译它,构建系统时需要添加什么组件到内核映像文件中去。操作系统层实现了Windows CE作为操作系统的主要功能。主要包含以下模块。内核:主要实现了Win32 API核心中进程的创建和加载、线程调度、中断处理和内存管理等核心功能。文件系统:负责管理文件系统、数据库和系统注册表。设备管理器:加载、卸载和管理哪些不被GWES(图形、窗口和事件子系统,就是GUI支持)管理的驱动程序;另外在用户模式下也有一个设备管理器,以EXE的形式存在,用来管理用户模式下的驱动程序图形系统(GWES):主要负责管理操作系统中与图形界面相关的部分,它实现了基本的绘图功能和窗口管理器,并对用户输入设备的驱动程序进行管理。系统服务:负责提供一些后台的处理并为应用程序提供高级的功能,比如等。应用程序层在CE操作系统中,应用程序与内核交互的接口同样是Win32 API。系统内核微内核是指在内核里面只实现一些基本服务,如进程调度、进程间通信和中断处理等,其他的服务和功能都放在内核外。1.CE5.0的体系结构:微内核2.CE6.0的体系结构:单体内核内存管理1.CE5.0的内存管理:所有进程共享一个4GB的虚拟地址空间,是基于页式管理的,支持两种页大小:1KB和4KB。虚拟内存的申请分为保留和提交两个过程。管理虚拟内存的硬件是内存管理单元,负责把虚拟地址转换成物理地址,并提供一定的内存保护。虚拟内存是Windows CE中的重要模块,它把进程申请的内存映射到物理内存,并且提供系统4GB的寻址能力。5.0将虚拟地址空间分成若干个Slot。2.CE6.0的内存管理:每个正在运行的进程可以拥有低地址的全部2G虚拟地址空间,而且系统中可以同时存在32K个进程。文件系统与存储管理6.0的模块由之前的用户模式下的转移到了内核模式下的。文件系统和所有与文件相关的API都是通过模块来管理的。这个模块实现了对象存储和存储管理器,并将所有文件系统统一到一个根“”下面的单个系统中。在CE中,所有文件和文件系统都存在于从作为根开始的单个命名空间中。在CE中,驱动器作为文件夹装入根的下面。模块的组成:对象存储,包括RAM文件系统、基于RAM的注册表和数据库、基于HIVE的注册表、ROM文件系统、存储管理器。1.对象存储对象存储是一个内存堆,由控制。对每个Windows CE设备来说,以某种形式存在的注册表是必须的基于RAM的注册表:把整个注册表作为一个对象存储堆放在RAM中,这就意味着一旦系统中断对RAM的供电,对注册表的所有改动都会丢失。也就是注册表有效性和RAM中数据的有效性是一致的。使用RAM注册表,对注册表的读写访问操作非常快速高效断电时注册表需要进行保存,启动后需要还原。2.基于HIVE的注册表把注册表数据存放在文件系统的文件上,这种文件叫做蜂箱(HIVE)。这就意味着不再需要在系统断电和启动时进行保存恢复注册表操作。基于HIVE的注册表通常被分为3个部分:引导HIVE、系统HIVE和用户HIVE引导HIVE:它储存只用于系统启动时的系统设置。引导HIVE从ROM中读出并用于启动驱动程序和相关文件系统。该文件系统用于启动系统HIVE文件。系统HIVE:存储所有的系统数据用户HIVE:存储对特定用户的所有相关数据。3.存储管理器存储管理器负责管理系统中的存储设备,以及用于访问它们的文件系统。存储管理器处理4种主要项目:1.存储驱动程序 2.分区驱动程序 3.文件系统驱动程序 4.文件系统筛选器设备管理器是Windows CE 6.0设备管理的核心机构,它主要负责跟踪、维护系统的设备信息并对设备资源进行调配。主要任务:1.初始化驱动程序2.向内核注册特定文件名3.为外围设备找到合适的设备驱动程序。4.通过读写注册值加载和跟踪驱动程序。5.当不再需要设备时卸载其驱动程序。CE6.0中的设备管理器是通过device.dll来实现的,它在启动时就被内核加载,而且只要内核还运行设备管理器就不会停止工作。设备管理器与注册表的配合非常紧密,它运行和管理的大多数数据都来自注册表。图形窗口事件子系统(GWES)早起CE中,由GWES.dll作为用户模式下的进程实现,CE6.0中,GWES由GWES.dll实现,并位于内核模式下。功能上讲,GWES是用户、应用程序和OS之间的图形用户接口。结构上讲,GWES集Win32 API、User Interface、GDI于一体GWES的中心是窗口,所有应用程序都需要窗口以接收来自内核的消息,GWES提供控制器、菜单、对话框以及图形显示的设备资源,还提供GDI以控制文本与图形显示。GWES包含三个关键模块:图形、窗口和事件。这三者关系密不可分1.图形子系统主要任务是输出文字或图形。它使用GDI来处理程序的图形输出。CE下的绝大多数应用程序都离不开GDI2.窗口子系统主要讲了一些窗口类和函数完整的窗口创建过程分为两步:1.应用程序调用RegisterClass()向系统注册一个窗口类,系统内部会记录所有已注册的窗口类信息。2.应用程序调用CreateWindow()以某个已注册的窗口类为模版创建窗口。结束语当你尽了自己的最大努力时,失败也是伟大的,所以不要放弃,坚持就是正确的。When You Do Your Best,Failure Is Great,So DonT Give Up,Stick To The End感谢聆听不足之处请大家批评指导Please Criticize And Guide The Shortcomings演讲人:XXXXXX 时 间:XX年XX月XX日
展开阅读全文