首页计算机计算机工程嵌入式系统原理与设计 08 嵌入式操作系统.pptx

08 嵌入式操作系统.pptx

页数:95页文件大小:1.12 MB来源: 嵌入式系统原理与设计ppt课件

本课件介绍嵌入式操作系统,涵盖硬件抽象层、实时性分析与评价指标,逐一讲解嵌入式Linux、uC/OS-II、VxWorks、Windows XP Embedded、Windows CE与Android的特点与应用,并给出嵌入式操作系统选型建议。

嵌入式操作系统封面,标示本章主题
特点页,以图示展示概述部分的相关内容
嵌入式系统中软件的四个层次页,以图示展示概述部分的相关内容
查看本课件的文字版(共 95 页,供检索与复制)

第1页:嵌入式操作系统章节封面与导览

嵌入式操作系统章节封面与导览

本页以图示为主,展示嵌入式系统原理与设计课件嵌入式操作系统章节封面与导览部分的相关内容,源文件未提取到更多文字,建议对照原课件图片查看。

第2页:特点

特点

  • 内容
    • 特点
    • 硬件抽象层
    • 嵌入式实时操作系统
      • 实时系统、系统实时性、裸机实时性、嵌入式实时操作系统
    • 嵌入式操作系统
      • 嵌入式Linux
      • uC/OS-II
      • VxWorks
      • XPEmbedded
      • WindowsCE
      • Android

第3页:嵌入式系统中软件的四个层次

嵌入式系统中软件的四个层次

  • 嵌入式系统中软件的四个层次
    • 引导程序——Bootloader
    • 操作系统内核(任务管理、内存管理、设备驱动
    • 文件系统、图形用户界面
    • 应用软件Bootloader操作系统内核图形用户界面(GUI)文件系统用户应用程序

第4页:操作系统基本概念

操作系统基本概念

  • 操作系统基本概念
    • 计算机硬件和软件两个组成部分。软件包括应用软件和系统软件,操作系统是现代通用计算机中最重要的系统软件
    • 操作系统是一组管理程序,管理计算机的硬件资源和软件资源,为应用软件的提供运行“平台”,使用户更方便、有效地使用计算机
    • 主要功能包括:接口管理、处理器管理、存储管理、设备管理、文件管理等

第5页:嵌入式OS与通用OS相同点

嵌入式OS与通用OS相同点

  • 嵌入式OS与通用OS相同点
    • 嵌入式OS同样具有通用OS的几个基本功能
    • 能够有效管理越来越复杂的系统资源
    • 把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来
    • 为用户提供库函数、驱动程序、工具集以及应用程序

第6页:嵌入式系统不一定需要操作系统

嵌入式系统不一定需要操作系统

  • 嵌入式系统不一定需要操作系统
    • 在PC机中,操作系统是必不可少的系统软件
    • 嵌入式系统中不一定有操作系统
    • 功能简单系统中,即没有支持操作系统运行的硬件资源,也没有使用操作系统的必要
    • 高性能嵌入式系统完成复杂的功能,如果仍延续基于裸机的开发方式,软件工作量过于庞大,甚至是不可能完成的任务,这时需要使用操作系统

第7页:两类嵌入式系统

两类嵌入式系统

  • 两类嵌入式系统
    • 基于裸机的系统设计中,用户软件不仅要实现应用功能,还需要完成硬件初始化、设备管理、中断管理、内存分配等所有的软件任务,工作繁琐,但灵活性强
    • 基于操作系统,在设计嵌入式系统应用软件时可专注于应用功能的设计,而不需在系统管理上耗费过多的精力。但资源占用大,带来额外的成本

第8页:嵌入式操作系统特点

嵌入式操作系统特点

  • 嵌入式操作系统特点
    • 模块化,可定制
    • 实时性强
    • 占用资源少
    • 稳定性要求高
    • 代码有固化的要求
    • 具有良好的硬件适应性,便于移植

第9页:概述

概述

  • 嵌入式OS及软件的固化8Mx16位flash

第10页:嵌入式操作系统硬件抽象层

嵌入式操作系统硬件抽象层

嵌入式系统的组成嵌入式应用软件嵌入式操作系统硬件抽象层外围控制器存储器嵌入式硬件平台微处理器嵌入式应用软件嵌入式操作系统微处理器存储器外围控制器嵌入式硬件平台

第11页:硬件抽象层是一组系统软件

硬件抽象层是一组系统软件

  • 硬件抽象层:HAL,HardwareAbstractionLayer
    • 硬件抽象层是一组系统软件,通过统一的编程接口为操作系统和应用软件提供一个抽象化的运行平台
    • 硬件抽象层位于操作系统和硬件之间,实现对硬件的操作,并通过标准化的接口为操作系统提供服务,向操作系统提供硬件平台的信息,并根据操作系统的要求完成对硬件的操作
    • 只要在硬件平台上实现硬件抽象层,那么操作系统就可以移植到该平台上
    • 板级支持包BSP(BoardSupportPackage)是硬件抽象层的一种实现,很多情况下,二者表达的是同一个含义嵌入式应用软件嵌入式操作系统硬件抽象层外围控制器存储器嵌入式硬件平台微处理器

第12页:硬件抽象层结构操作系统硬件抽象层编程接口

硬件抽象层结构操作系统硬件抽象层编程接口

硬件抽象层结构操作系统硬件抽象层编程接口定时器管理定时器1定时器2···外围控制器管理网络控制器UART···

第13页:实时计算机系统概述

实时计算机系统概述

  • 实时计算机系统概述
    • 实时系统是能及时响应外部发生的随机事件,并以足够快的速度完成对事件处理的计算机系统
    • 实时系统的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间
    • 计算机系统是一个激励-响应系统,激励-响应周期T,代表着计算机的响应能力。应用对象所规定的响应时间Ta,若T≤Ta,这个系统便是实时系统

第14页:实时系统特点

实时系统特点

  • 实时系统特点
    • 实时系统具有复杂的约束性:时间约束、资源约束、执行顺序约束和性能约束
    • 实时任务的执行具有可预测性:系统能够对实时任务的执行时间进行预测,判断是否能够满足任务的时限要求。是实时系统最基本的性能指标
    • 实时系统具有高可靠性的要求
    • 实时系统需要与外部环境进行交互
    • 实时系统需要满足一定的峰值负荷要求

第15页:硬实时系统与软

硬实时系统与软

  • 硬实时系统与软实时系统
    • 在硬实时系统中,系统要确保在最坏情况下的服务时间,即对事件响应时间的截止期限必须得到满足。在这样的系统里,如果一个事件在规定期限内不能得到及时处理则会导致致命的系统错误
    • 在软实时系统中,从统计的角度看,任务能够得到足够的处理时间,到达系统的事件也能够在截止期限前得到处理,但系统不能保证时刻都能满足这样的条件,截止期限条件偶尔没得到满足时并不会带来致命的系统错误
    • 满足硬实时的系统一定满足软实时的要求,反之未必

第16页:嵌入式系统实时性

嵌入式系统实时性

  • 嵌入式系统实时性
    • 嵌入式系统是一种计算机,基于硬件平台,用软件实现事件的检测、数据的收发、信息的处理、控制信号的产生
    • 嵌入式系统与应用对象之间的交互往往有时间限制,这就是嵌入式系统的实时性特点
    • 嵌入式系统激励-响应时间T包括硬件响应时间Th和软件响应时间Ts
    • 软件响应时间Ts是主要因素,这增加了系统实时设计的复杂性

第17页:性能和实时性的关系

性能和实时性的关系

  • 性能和实时性的关系
    • 系统运行速度高不代表实时性好
    • 同样的硬件、软件设计,速度快的系统实时性会更强
    • 当系统不能满足实时性要求时,可以通过提高系统的运行速度来弥补,但会带来负面影响:功耗加大、电磁兼容性能下降、可靠性降低

第18页:前/后台的程序结构

前/后台的程序结构

  • 裸机中的实时软件设计后台任务二后台任务三后台任务四
    • 前/后台的程序结构:实时性要求高的任务放在中断服务程序(前台)中,而其它实时性要求低的任务放在主程序(后台)中后台任务一中断服务程序一中断服务程序二中断服务程序三后台任务循环响应中断响应中断响应高级中断时间

第19页:嵌入式实时操作系统

嵌入式实时操作系统

  • 嵌入式实时操作系统
    • 实时性反映了设备“及时”处理事件的能力
    • 嵌入式操作系统管理着嵌入式计算机的硬件、软件资源,必须支持实时任务调度,才能确保整个系统对事件响应的实时性
    • 运行在嵌入式实时系统中,支持系统实现实时任务调度的操作系统,称为嵌入式实时操作系统(RTOS,RealTimeOperatingSystem
    • 按系统对事件响应的时间约束,嵌入式操作系统有硬实时和软实时两种类型

第20页:实时OS与通用OS设计目标

实时OS与通用OS设计目标

  • 实时OS与通用OS设计目标
    • 通用操作系统中,强调的是系统的平均表现
    • 嵌入式实时操作系统首要目标不是提高系统的平均表现,而是通过资源管理、任务调度,确保每个实时任务在最坏情况下也能满足其实时性要求
    • 通用操作系统注重的是整体表现,实时操作系统注重的是每个任务的表现,更准确地讲是任务在最坏情况下的表现

第21页:嵌入式RTOS与通用OS设计上的差别

嵌入式RTOS与通用OS设计上的差别

  • 嵌入式RTOS与通用OS设计上的差别
    • 任务调度策略不同
      • 通用OS为动态优先级+时间片轮转;实时OS为静态表驱动方式和静态优先级抢占式调度方式
    • 内存管理方式不同
      • 通用OS采用硬盘虚拟内存,实时OS不采用虚拟内存或对虚拟内存进行特殊设计
    • 中断处理方式不同
      • 通用OS中断处理程序的优先级被设定为高于任何用户进程;实时OS不合适采用这样的中断处理机制
    • 共享资源的互斥访问机制不同
      • 通用OS采用信号量机制来解决共享资源的互斥访问问题;实时OS中,往往对传统的信号量机制进行了一些扩展,避免普通信号量机制引起的优先级倒置问题

第22页:系统调用以及系统内部操作的时间开销有差别

系统调用以及系统内部操作的时间开销有差别

  • 嵌入式RTOS与通用OS设计上的差别(续
    • 系统调用以及系统内部操作的时间开销有差别
      • 实时OS中所有系统调用以及系统内部操作的时间开销都应是有界的;通用操作系统中对这些时间开销则未做如此限制
    • 系统的可重入性
      • 通用OS核心态系统调用往往是不可重入的;实时OS中核心态系统调用往往设计为可重入的,确系统的可预测性
    • 辅助工具
      • 实时操作系统额外提供了一些辅助工具,如实时任务在最坏情况下的执行时间估算工具、系统的实时性验证工具等
    • 实时操作系统对系统硬件设计也提出了一些要求
      • DMA
      • Cache

第23页:评价一个实时操作系统

评价一个实时操作系统

  • 评价一个实时操作系统
    • 任务调度机制
      • 调度策略:可抢占、不可抢占、选择可抢占
      • 任务时间片:固定时间片轮询、可变时间片轮询
    • 内存管理:实模式和保护模式
    • 最小内存开销
    • 中断禁止时间与中断延迟时间
      • 当实时操作系统运行在核心态或执行某些系统调用的时候,不会因为外部中断的到来而中断执行,只有当操作系统重新回到用户态时才响应外部中断清求,这一过程所需的最大时间就是中断禁止时间。中断延时时间是指系统确认中断开始直到执行中断服务程序的第一条指令为止的整个过程所需要的时间
    • 任务切换时间

第24页:硬件抽象层

硬件抽象层

  • 内容
    • 特点
    • 硬件抽象层
    • 嵌入式实时操作系统
      • 实时系统、系统实时性、裸机实时性、嵌入式实时操作系统
    • 嵌入式操作系统
      • 嵌入式Linux
      • uC/OS-II
      • VxWorks
      • XPEmbedded
      • WindowsCE
      • Android

第25页:常用嵌入式操作系统

常用嵌入式操作系统

  • 常用嵌入式操作系统
    • 桌面操作系统种类有限:Windows系列、Linux、UNIX等
    • 嵌入式操作系统有几十种:WindowsCE、Nucleus、VxWorks、uC/OS、嵌入式Linux、QNX、pSOS等等
    • 桌面操作系统因为其通用性,容易形成垄断,而嵌入式操作系统因具有应用针对性,种类繁多,百花齐放

第26页:Linux简介

Linux简介

  • Linux简介
    • Linux最初由芬兰赫尔辛基大学的学生(LinusTorvalds)于1991年开始开发
    • 1994年按完全自由扩散版权形式发布了Linux的第一个正式版本1.0
    • 为鼓励商业公司参与Linux的开发应用,Linux后来转向GPL

第27页:Linux简介:GeneralPub

Linux简介:GeneralPub

  • Linux简介
    • GPL
      • GeneralPublicLicense
      • 社会公众享有运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由
      • 只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制

第28页:Linux简介:GNU

Linux简介:GNU

  • Linux简介
    • GNU/Linux
      • Linux只是一个操作系统内核,提供系统服务,如任务管理、虚拟内存、设备管理等。通常所说的Linux,指的是GNU/Linux,即采用Linux内核的GNU操作系统,在该操作系统中,以Linux为内核,使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序

第29页:Linux简介:GNU/Linux操

Linux简介:GNU/Linux操

  • Linux简介
    • GNU/Linux操作系统体系结构硬件平台板级支持包(BSP)Linux内核系统调用接口GNUC语言库(glibc)用户应用程序用户空间内核空间

第30页:Linux简介:Linux内核结构内

Linux简介:Linux内核结构内

  • Linux简介
    • Linux内核结构内存管理网络通信进程管理虚拟文件系统系统调用接口体系结构相关代码设备驱动程序

第31页:嵌入式

嵌入式

  • 嵌入式Linux特点
    • 嵌入式Linux内核由标准Linux内核裁剪而来
      • 系统模块化,支持用户定制
      • 经过裁剪、压缩后的系统内核一般只有几百KB
      • 已有多种版本的嵌入式Linux操作系统
      • 嵌入式Linux支持从FLASH或ROM的启动

第32页:嵌入式

嵌入式

  • 嵌入式Linux特点
    • 特点
      • 支持多种硬件平台
      • 高效稳定的系统内核
      • 开放源码,软件丰富
      • 完善的开发工具
      • 完善的网络通信
      • 支持多种文件系统
      • 支持多种图形用户界面

第33页:常见嵌入式

常见嵌入式

  • 常见嵌入式Linux操作系统
    • RTLinux
    • uClinux
    • EOSnux、Midinux
    • ……

第34页:常见嵌入式

常见嵌入式

  • 常见嵌入式Linux操作系统
    • RTLinux
      • Linux原本是个通用操作系统,没有实时任务调度能力
      • 1996年,第一个Linux实时系统发布,这就是RTLinux。RTLinux的实时内核处于Linux内核和硬件平台之间,为Linux内核提供一个“虚拟机”环境
      • RTLinux是一个硬实时的嵌入式Linux操作系统
      • RTLinux实现方法:另外设计一个实时内核,把标准的Linux内核作为该实时内核的一个进程,同用户的实时进程一起调度。避免对Linux内核的大规模改动,也有利于充分利用Linux现有的丰富软件资源

第35页:常见嵌入式

常见嵌入式

  • 常见嵌入式Linux操作系统
    • RTLinux操作系统原理实时任务1实时任务2实时任务N···标准Linux内核RTLinux实时内核任务管理器中断管理器Linux进程1···Linux进程2Linux进程M···软件中断硬件中断···硬件平台

第36页:常见嵌入式

常见嵌入式

  • 常见嵌入式Linux操作系统
    • uCLinux
      • MMU实现虚拟地址到物理地址的转换以及任务内存空间的保护
      • 标准Linux在硬件上需要MMU支持
      • 为了能在没有集成MMU的低成本嵌入式微处理器上运行,改造Linux内核——uCLinux

第37页:常见嵌入式

常见嵌入式

  • 常见嵌入式Linux操作系统
    • uCLinux
      • uCLinux是精巧的Linux版本,适合低成本、小型化的嵌入式系统
      • 具有标准Linux的大多数优点:稳定、可移植性好、对网络的支持好、支持多种文件系统、支持丰富的标准化用户应用编程接口
      • 支持多种不同体系结构的硬件平台
      • uClinux同标准Linux的最大区别就在于内存管理。不能使用标准Linux的虚拟地址管理技术,而是采用实地址进行内存管理。所有程序都直接使用真实的物理地址。操作系统不提供对内存空间保护
      • uClinux并不是为了解决Linux实时性而设计的,在这方面与标准Linux并无实质的差别

第38页:常见嵌入式

常见嵌入式

  • 常见嵌入式Linux操作系统
    • uCLinux内核结构用户进程函数库系统调用文件系统内存管理进程管理

第39页:实时系统、系统实时性

实时系统、系统实时性

  • 内容
    • 特点
    • 硬件抽象层
    • 嵌入式实时操作系统
      • 实时系统、系统实时性、裸机实时性、嵌入式实时操作系统
    • 嵌入式操作系统
      • 嵌入式Linux
      • uC/OS-II
      • VxWorks
      • XPEmbedded
      • WindowsCE
      • Android

第40页:概述:1992年是美国工程

概述:1992年是美国工程

  • 概述
    • 1992年是美国工程师JeanJ.Labrosse设计成功uC/OS,1998年推出uC/OS升级版,即uC/OS-II
    • 是支持可抢占式任务调度的嵌入式实时多任务操作系统
    • 广泛应用在消费类电子产品、医疗器械、网络设备、工业控制等领域

第41页:推荐书籍

推荐书籍

  • 推荐书籍
    • 作者:(美)JeanJ.Labrosse著,邵贝贝等译
    • 出版社:北京航天航空大学出版社
    • 出版时间:2003-5-1

第42页:特点:开放源代码

特点:开放源代码

  • 特点
    • 开放源代码
    • 良好的可移植性
    • 支持软件固化
    • 可按应用需要进行系统裁减
    • 支持抢占式任务调度
    • 支持多任务
    • 任务运行时间具有确定性
    • 采用独立的任务栈
    • 提供基本的系统服务
    • 支持中断管理
    • 良好的稳定性和可靠性

第43页:中断服务程序

中断服务程序

uC/OS的抢占式任务调度低优先级任务高优先级任务中断服务程序时间低优先级任务运行进入中断服务程序

第44页:uC/OS-II任务管理

uC/OS-II任务管理

  • uC/OS-II任务管理
    • 任务状态转换关系等待状态睡眠状态就绪状态运行状态中断状态OSMBoxPostOSQPostOSQPostFrontOSMSemPostOSTaskResumeOSTimeDlyResumeOSTimeTickOSMBoxPendOSQPendOSMSemPendOSTaskSuspendOSTimeDlyOSTimeDlyHMSMOSTaskDelOSTaskCreatelOSTaskCreateExtOSTaskDelOSTaskDel任务被抢占OSStartOSIntExit0S_TASK_SW中断OSIntExit

第45页:uC/OS-II移植

uC/OS-II移植

  • uC/OS-II移植
    • 移植条件
      • 处理器的C编译器能产生可重入代码
      • C语言可以打开和关闭中断
      • 处理器支持中断,并且能产生定时中断
      • 处理器支持能够容纳一定量数据的硬件堆栈
      • 处理器有将堆栈指针或其它CPU寄存器读出并存储到堆栈或内存中的指令

第46页:硬件软件体系结构CPU定时器

硬件软件体系结构CPU定时器

  • uC/OS-II移植
    • 硬件软件体系结构CPU定时器uC/OS处理器相关代码OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C与处理器无关代码(内核)OS_CORE.CuCOS_II.COS_MBOX.CuCOS_II.HOS_MEM.COS_Q.COS_SEM.COS_TASK.COS_TIME.C与应用相关代码OS_CPU.HINCLUDES.H应用软件软件硬件

第47页:嵌入式操作系统

嵌入式操作系统

  • 内容
    • 特点
    • 硬件抽象层
    • 嵌入式实时操作系统
      • 实时系统、系统实时性、裸机实时性、嵌入式实时操作系统
    • 嵌入式操作系统
      • 嵌入式Linux
      • uC/OS-II
      • VxWorks
      • XPEmbedded
      • WindowsCE
      • Android

第48页:概述:来自

概述:来自

  • 概述
    • 来自WindRiverSystem(09年6月,Intel收购
    • 高可靠、硬实时的嵌入式操作系统
    • 工业控制、军事装备、航空/航天、通信设备
    • 提供完善的软件开发环境,支持多种调试手段
    • 包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分
    • 微内核操作系统,在内核中只保留实现操作系统服务的最基本功能,而用模块化的用户态服务器完成操作系统中比较高级的操作

第49页:VxWorks

VxWorks

VxWorks系统结构硬件平台体系结构相关代码键盘驱动并口驱动SCSI驱动程序串口驱动程序网卡驱动程序其它驱动程序内核Wind文件系统I/O系统VxWorks函数库TCP/IP协议栈硬件无关软件应用软件硬件抽象层

第50页:VxWorks操作系统特点

VxWorks操作系统特点

  • VxWorks操作系统特点
    • 采用高性能的微内核结构支持所有的实时特征:快速任务切换、微秒级的中断处理、抢占式和时间片轮转任务调度
    • 系统具有高可靠性
    • 系统具有强实时性
    • 支持按需定制
    • 良好的可移植性:ARM、XScale、MIPS、PowerPC和X86
    • 提供丰富的网络支持

第51页:VxWorks与勇气号

VxWorks与勇气号

  • VxWorks与勇气号
    • 内置一个特制的抗辐射20MHzPowerPCCPU
    • 配置有128MB内存
    • 采用VxWorks嵌入式操作系统
    • 勇气号的软件可远程无线升级

第52页:Tornado开发环境

Tornado开发环境

  • Tornado开发环境
    • Tornado三个组成部分
      • 运行在开发机和目标机上的系列交叉开发工具和实用程序,可对目标机上的应用进行跟踪和调试
      • 运行在目标机上的高性能、可裁剪的嵌入式实时操作系统——VxWorks
      • 连接宿主机和目标机的多种通讯模块,支持以太网、RS-232串口、ICE(InCircuitEmulator)、ROM仿真器等

第53页:Tornado开发系统结构启

Tornado开发系统结构启

  • Tornado开发环境
    • Tornado开发系统结构启动工具目标服务器调试器Shell解释器浏览器逻辑分析工具C++类支持库第三方或用户工具仿真调试工具开发机集成开发环境目标机运行环境VxWorks应用软件VxWorks系统组件VxWorks内核调试代理BSP开发机:如PC、Sparc工作站、HP工作站目标机:如ARM、MIPS、X86、Coldfire、PowerPC等工具插件图形用户界面以太网RS-232ICE仿真器ROM仿真器

第54页:Tornado核心工具

Tornado核心工具

  • Tornado开发环境
    • Tornado核心工具
      • C/C++编译环境
      • 图形化的交叉调试器CrossWind
      • 命令行执行工具WindShell
      • 目标机系统状态浏览器Browser
      • 诊断分析工具WindView
      • 集成仿真器VxSim

第55页:嵌入式

嵌入式

  • 内容
    • 特点
    • 硬件抽象层
    • 嵌入式实时操作系统
      • 实时系统、系统实时性、裸机实时性、嵌入式实时操作系统
    • 嵌入式操作系统
      • 嵌入式Linux
      • uC/OS-II
      • VxWorks
      • XPEmbedded
      • WindowsCE
      • Android

第56页:概述:WindowsEmb

概述:WindowsEmb

  • 概述
    • WindowsEmbedded:Microsoft的嵌入式操作系统产品与技术的总称,这些操作系统为开发人员提供了与桌面Windows相同/相似的工具和技术,有利于将以服务为导向的下一代智能互联型设备快速投放市场
    • WindowsEmbedded产品系列
      • WindowsCE
      • WindowsXPEmbedded/WindowsEmbeddedStandard2009
      • WindowsEmbeddedPOSReady
      • WindowsEmbeddedEnterprise
      • WindowsEmbeddedNavReady

第57页:兼容性

兼容性

  • 兼容性
    • Windows XPProfessional桌面操作系统的组件化版本
    • 与XPProfessional在软件上完全兼容
    • 充分利用PC工业长期积累起来的丰富软、硬件资源
  • 特点
    • XPEmbedded具有灵活的系统定制能力
    • XPEmbedded支持灵活的启动和存储选项

第58页:XPEmbedded不具备的XP功能

XPEmbedded不具备的XP功能

  • XPEmbedded不具备的XP功能
    • Windows文件保护(WFP
    • WindowsXP漫游
    • Windows安装程序
    • 联机产品激活
    • 开包即用
    • Windows更新
    • 支持版本升级的文件系统
    • 过时的Windows图像获取文件
    • MSNExploer
    • MicrosoftJava虚拟机
    • ……

第59页:XPEmbedded开发工具

XPEmbedded开发工具

  • XPEmbedded开发工具
    • 目标机分析器
      • 自动采集系统所有设备的信息,并生成报告文件,从而为系统开发者简化了目标机结构分析的工作
    • 目标机设计器
      • 选择组件、配置系统并最终生成一个用户定制的操作系统映像
    • 组件设计器
      • 设计自定义的操作系统组件
    • 组件数据库管理器
      • 维护已有的操作系统组件,还可向组件库载入用户自定义组件

第60页:配置目标机系统

配置目标机系统

  • XPEmbeddedStudio定制XPEmbedded步骤
    • 配置目标机系统,在目标机上加载桌面操作系统,并运行目标分析器探测系统硬件配置信息
    • 为目标机准备好存储介质,并做好格式化
    • 开发系统基于目标机的硬件设备配置信息,创建基本的操作系统配置,还可向配置中加入其它组件
    • 进行组件的依赖性检查,解决依赖性问题
    • 创建用户定制的XPEmbedded操作系统的映像
    • 将定制的操作系统映像存入目标机存储介质
    • 在目标机上引导并测试定制的操作系统映像

第61页:WindowsXPEmbedded

WindowsXPEmbedded

  • 定制XPEmbedded流程分析组件设计器组件库目标机设计器目标机分析器配置设计目标机部署

第62页:下载WindowsXPemb

下载WindowsXPemb

  • 课后作业
    • 下载WindowsXPembedded(75.214MB),已定制好的XPEmbedded二进制映象文件,在PC上运行
      • http://xiazai.zol.com.cn/detail/10/99596.shtml
      • http://xiazai.zol.com.cn/detail/10/96581.shtml
    • 微软试用版开发系统下载
      • http://www.microsoft.com/china/windows/embedded/about.mspx

第63页:嵌入式

嵌入式

  • 内容
    • 特点
    • 硬件抽象层
    • 嵌入式实时操作系统
      • 实时系统、系统实时性、裸机实时性、嵌入式实时操作系统
    • 嵌入式操作系统
      • 嵌入式Linux
      • uC/OS-II
      • VxWorks
      • XPEmbedded
      • WindowsCE
      • Android

第64页:概述:C

概述:C

  • 概述
    • C:Compact、Consumer、Connectivity、Companion
    • E:Electronics
    • 应用对象是小型消费类的电子产品,如PDA、智能手机、数码影音产品、Internet网络终端
    • 继承了传统Windows桌面操作系统的图形界面风格
    • 支持Win32应用程序编程接口,其开发工具也与桌面操作系统工具类似,甚至使用统一的开发平台
    • 完全自主重新开发的新型

第65页:发展历程

发展历程

  • 发展历程
    • 96年,Microsoft针对PocketPC市场发布了WindowsCE1.0
    • 97年,组件化的WindowsCE2.0发布
    • 2000年,WindowsCE3.0发布,支持实时处理以及高级多媒体技术
    • 2002年,WindowsCE4.0发布
    • 2004年,Microsoft发布WindowsCE5.0
    • 2006年秋,Microsoft发布WindowsCE6.0,版本6.0开始,WindowsCE改为WindowsEmbeddedCE
    • ……

第66页:特点:系统经过多年的广泛应

特点:系统经过多年的广泛应

  • 特点
    • 系统经过多年的广泛应用,有良好的可靠性
    • 支持多种不同体系结构CPU,有丰富的设备驱动程序资源
    • 支持灵活的无线、有线网络连接
    • 高效率硬实时系统内核,支持基于优先级的抢占式任务调度
    • 支持SQLServerCE数据库
    • 支持InternetExplorerforCE
    • 支持高级电源管理
    • 具有完善的多媒体处理能力
    • 基于Win32编程接口和丰富的功能组件,提供快速的系统和应用开发支持
    • 使用Unicode(UniversalCharacterSet)字符编码,提供多语言支持

第67页:WindowsCE

WindowsCE

WindowCE及XPe应用PDAIP电话WebPad网络终端数码影像···机顶盒瘦客户机工业自动化医疗设备娱乐设备打印机···POS机动售货机ATM游戏机家庭网关···WindowsCEWindowsXPEmbeded

第68页:WindowCE窗口界面

WindowCE窗口界面

  • WindowCE窗口界面

第69页:基于WindowCE的嵌入式系统结构设备

基于WindowCE的嵌入式系统结构设备

基于WindowCE的嵌入式系统结构设备驱动程序处理器RAMROMSD卡RS-232串口音频接口视频接口键盘鼠标USB网络接口IDE硬盘硬件层硬件抽象层即OEM适配层(OAL,OEMAdaptationLayer)体系结构相关代码WindowsCE操作系统内核(NK.EXE)多媒体支持模块图形窗口事件子系统GWES.EXE设备管理器DEVICE.EXE通信服务与网络CoreDLL.DLL对象存储(FILESYS.EXE)应用与服务开发模块操作系统层用户应用程序Internet客户服务WindowsCE应用软件用户接口应用层红外蓝牙

第70页:WindowCE系统结构

WindowCE系统结构

  • WindowCE系统结构
    • 操作系统内核
      • 内核实现任务调度、内存管理、异常处理及任务间通信等功能,并为其它程序使用这些功能提供服务及编程接口。体现为NK.EXE进程
    • 多媒体支持模块
      • 为多媒体硬件设备提供标准化的驱动程序接口、为多媒体应用程序提供丰富的API、为各种格式的多媒体文件及流媒体提供编/解码器
    • 图形窗口事件子系统
      • 为系统提供图形用户界面(GUI),体现为GWES.exe进程(GWES,Graphics、WindowsandEventsSubsystem

第71页:设备管理模块

设备管理模块

  • WindowCE系统结构(续
    • 设备管理模块
      • 负责系统中的设备管理,包括设备列表管理、即插即用管理、I/O资源分配管理及驱动程序的加载、卸载和跟踪已经加载的驱动程序及其接口等
    • 通信服务与网络模块
      • 实现了各种有线(如以太网、公用交换电话网等)、无线(如802.11a/b/g、红外、蓝牙等)的通信功能
    • 对象存储
      • WindowsCE启动后把系统使用的RAM区域分为对象存储区和程序内存区两个部分,并且默认各使用一半RAM。对象存储区采用RAM文件系统来保存文件,应用程序内存区域留给所有应用程序运行时使用

第72页:CoreDLL

CoreDLL

  • WindowCE系统结构(续
    • CoreDLL
      • 作为应用层与操作系统层的一个桥梁,将应用层对操作系统的调用传递给操作系统相应的模块,并触发对相应进程的本地过程调用
    • 应用与服务开发模块
      • 为应用程序开发提供编程接口和服务支持的库模块,这些库模块一般都是一些DLL

第73页:WinCE应用层

WinCE应用层

  • WindowCE系统结构(续
    • WinCE应用层
      • 由Windows CE操作系统自带的应用程序,如文档编辑软件、多媒体播放软件等
      • 用户根据产品需要自主设计的应用软件,完成用户的特定需求,用户软件是产品个性化的主要体现

第74页:WindowCE文件系统

WindowCE文件系统

  • WindowCE文件系统
    • WindowsCE文件系统和所有与文件相关的API都是通过FileSys.exe进程来管理
    • 包括几个组成部分:ROM文件系统、对象存储和存储管理器
    • 所有文件和文件系统都存在于从根(“\”)开始的单个命名空间中
    • 对象存储是一个内存堆,包含RAM系统注册表、RAM文件系统和属性数据库
    • ROM文件系统连接到统一文件系统中的“\Windows”文件夹
    • 存储管理器管理系统中的存储设备,并管理基于这些存储设备的文件系统

第75页:WindowsCE文件系统结

WindowsCE文件系统结

  • WindowCE文件系统
    • WindowsCE文件系统结构FileSys.EXEROM文件系统对象存储存储管理器注册表数据库RAM文件系统筛选器文件系统文件系统分区驱动程序块设备块设备块设备

第76页:WindowCE内存管理

WindowCE内存管理

  • WindowCE内存管理
    • 存储管理器组成
      • 存储设备驱动程序,外部存储设备通常是块设备,即以块为单位进行访问
      • 分区驱动程序,分区驱动程序是存储驱动程序的转换器
      • 文件系统驱动程序,将存储设备上的数据以文件和文件夹的形式组织起来,包括UDFS、FAT、TFAT等
      • 文件系统筛选器,对文件系统的调用首先要经过筛选器的处理,随后文件系统才能获得这些调用,目的是实现文件访问的特殊处理,如数据加密、压缩及病毒扫描等

第77页:WindowCE内存管理:上半部,下半部

WindowCE内存管理:上半部,下半部

  • WindowCE内存管理
    • 虚拟内存地址空间
      • WindowsCE实现一个线性的32位虚拟地址空间
      • 上半部2GB是内核空间,下半部2GB是用户空间
      • 用户空间被分成64个32MB的Slot,其中SLOT0~SLOT32由所有应用程序使用,SLOT0由当前占有CPU的进程使用,SLOT1由XIPDLL使用,其它SLOT用于进程,每个进程占用一个SLOT

第78页:WindowCE内存管理:物理内存分配

WindowCE内存管理:物理内存分配

  • WindowCE内存管理
    • 物理内存分配
      • NK区
      • 对象存储区
      • 应用程序内存区

第79页:虚拟内存地址空间内核地址

虚拟内存地址空间内核地址

  • WindowCE内存管理
    • 虚拟内存地址空间内核地址:KPAGE,TrapArea,其它用户定义的静态虚拟地址空间Slot97:NK.EXE未使用静态映射虚拟地址:不能够用于缓冲静态映射虚拟地址:能够用于缓冲2GB内核空间2GB用户空间Slot63:资源映射Slot33~62:对象存储及内存映射文件Slot2~32:其它用户进程Slot1:XIPDLLsSlot0:当前进程0x80000000xA00000000xC00000000xC20000000xC40000000xE00000000xFFFFFFFF0x000000000x020000000x040000000x420000000x7E0000000x7FFFFFFF

第80页:WindowCE系统调度

WindowCE系统调度

  • WindowCE系统调度
    • 多进程操作系统
      • 支持最多32个进程(WindowsCE6.0已扩展到32000个进程
    • 系统进程
      • Nk.exe(系统内核
      • Filesys.exe(文件管理器
      • GWES.exe(图形窗口事件子系统
      • Device.exe(设备管理器
      • Explorer.exe(Shell进程
      • Server.exe(服务管理器进程
      • ……等

第81页:进程管理文件系统GWES设备

进程管理文件系统GWES设备

  • WindowCE系统调度
    • 进程管理文件系统GWES设备管理服务管理硬件应用程序进程切换中断处理中断处理本地进程服务Win32APINK.EXECoreDLL.DLLDLL接口进程接口NK.LIBHal.LIB虚拟内存进程/线程异常处理调度加载器同步进程切换内存映射文件硬件抽象内存映射中断总线映射······中断函数调用

第82页:线程优先级线程分配对象优先级

线程优先级线程分配对象优先级

  • WindowCE系统调度
    • 线程优先级线程分配对象优先级范围高实时性应用程序的线程0~96驱动程序线程97~152低实时性应用程序的线程153~247普通非实时性应用程序的线程248~255

第83页:WinCE系统软件开发

WinCE系统软件开发

  • PlatformBuilder系统定制工具
    • WinCE系统软件开发
      • 操作系统定制和应用软件开发
    • WinCE定制
      • 700多个可选组件,组件之间还可能存在依赖关系
    • MicrosoftPlatformBuilderforWindowsCE
      • 简称PlatformBuilder或PB
      • 用于创建用户自定义WindowsCE操作系统的集成开发环境

第84页:特性目录窗口文本编辑窗口工作空间窗口

特性目录窗口文本编辑窗口工作空间窗口

  • 特性目录窗口文本编辑窗口工作空间窗口
  • PlatformBuilder系统定制工具菜单与工具条输出信息窗口

第85页:WinCE的定制

WinCE的定制

  • WinCE的定制
    • 用户首先选择目标硬件平台类型:CEPCx86、AMDGeode:x86、SAMSUNGSMDK2410等
    • 根据系统的配置及功能为目标平台添加各种需要的组件,并设置操作系统的其它配置参数
    • 开始创建新的WindowsCE映像

第86页:WinCE的定制:定制中的配置文件

WinCE的定制:定制中的配置文件

  • WinCE的定制
    • 定制中的配置文件
      • 二进制映像构建文件(.BIB
      • 注册表文件(.REG
      • 目录和文件分配表文件(.DAT
      • 数据库文件(.DB

第87页:WinCE的定制:PlatformBu

WinCE的定制:PlatformBu

  • WinCE的定制
    • PlatformBuilder配置文件.DB文件.DAT文件.REG文件.BIB文件Common.dbCommon.datCommon.regCommon.bibServers.datDcom.regDcom.bibMsmq.regMsmq.bibPlatform.dbPlatform.datPlatform.regPlatform.bibProject.datProject.regProject.bibWceshellfe.dbWceshellfe.datWceshellfe.regWceshellfe.bibWceappsfe.dbWceappsfe.datWceappsfe.regWceappsfe.bibScriptregConfig.bib

第88页:WinCE的定制:WinCE映像创建

WinCE的定制:WinCE映像创建

  • WinCE的定制
    • WinCE映像创建4个阶段
      • 编译阶段:编译源代码,链接成静态库
      • 系统产生阶段:创建组件(库、BSP、应用软件
      • 文件复制阶段:将前两个阶段产生的文件复制到一个单独的目录,将生成操作系统映像所需所有文件集中起来
      • 映像创建阶段:使用命令Makeimg.exe将“文件复制阶段”集中起来的文件合并成一个独立的映像文件,该文件在默认情况下被命名为NK.bin,当要创建可烧写到Flash中的文件时,文件命名为NK.nb0

第89页:WinCE的定制:WinCE映像生成过

WinCE的定制:WinCE映像生成过

  • WinCE的定制
    • WinCE映像生成过程所有.BIB文件所有.REG文件所有.DAT文件所有.DB文件压缩REGINIT.INI语言字符串CE.BIB中所有的DLL和EXE文件CE.BIBREGINIT.INIINITOBJ.DINITDB.INIDEFAULT.PDFNK.BIN合并

第90页:WinCE软件开发环境

WinCE软件开发环境

  • WinCE软件开发环境
    • WindowsCE支持传统的本地应用程序和基于Microsoft.NET技术的托管应用程序
    • 开发托管应用程序时使用MicrosoftVisualStudio.NET集成开发环境
    • 开发本地应用程序使用eMbeddedVisualC++集成开发环境

第91页:WinCE软件开发环境:MFC应用程序

WinCE软件开发环境:MFC应用程序

  • WinCE软件开发环境
    • eVC可开发的应用程序类型
      • Win32应用程序
      • MFC应用程序
      • ATL应用程序
      • 动态链接库程序
      • 静态链接库程序

第92页:嵌入式

嵌入式

  • 内容
    • 特点
    • 硬件抽象层
    • 嵌入式实时操作系统
      • 实时系统、系统实时性、裸机实时性、嵌入式实时操作系统
    • 嵌入式操作系统
      • 嵌入式Linux
      • uC/OS-II
      • VxWorks
      • XPEmbedded
      • WindowsCE
      • Android

第93页:概述:2009年2月初于台

概述:2009年2月初于台

  • 概述
    • 2007年11月5日,谷歌正式推出旗下首款基于Linux平台开源手机操作系统Android,谷歌希望将Android系统普及到手机以外的其他更多平台上
    • 2009年2月初于台北举行Computx大展上,宏基、明基两大台系厂商相继宣布将推出采用谷歌Android操作系统的上网本。与此同时,惠普、戴尔、华硕等PC巨头正在酝酿推出Android上网本的消息也纷纷传出

第94页:概述:上网本厂商转向谷歌

概述:上网本厂商转向谷歌

  • 概述
    • 上网本厂商转向谷歌Android的一个更重要的原因在于不收取任何费用并且支持开放式源代码,前者可以进一步降低上网本的成本为厂商提供利润空间,后者则方便厂商对上网本进行软件的个性化开发以制造差异化优势
    • Android凭借着开源软件的身份,它大大降低了OEM厂商的软件使用成本,同时各OEM厂商更可以自行改进Android,这是Windows无法比拟的
    • 除此之外,谷歌更建立了庞大的AndroidMarket为用户提供第三方应用程序,AndroidMarket将向所有软件商以及开发者开放,不会像苹果那样对iTunesAppStore内的软件应用进行严格的监管,其“开放”的太远远比微软友善得多

第95页:实时性

实时性

  • 实时性
  • 系统定制能力
  • 可移植性
  • 可用的软件、硬件技术资源
  • 对网络的支持能力
  • 对图形界面的支持能力
  • 语言支持
  • 系统的稳定性
  • 对硬件资源的要求
  • 研发团队已有技术条件
  • 系统的使用授权费用
顶部目录