第一讲 什么是嵌入式系统.ppt
第一讲第一讲 什么是嵌入式系统什么是嵌入式系统双实科技双实科技双实科技双实科技目录o嵌入式系统概述oWindows CE概述oWindows CE系统开发概述 双实科技双实科技各式各样的OSo桌面机nWindows(9X,XP Home,XP/2000 Pro)nMaco服务器nWindows(XP/2000 Server&Advanced Server)nUnix Varietieso嵌入式nMany 双实科技双实科技嵌入式操作系统o定义n嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面及标准化浏览器等。o作用n能够有效管理越来越复杂的系统资源;n大大提高了嵌入式系统开发的效率,而且提高了嵌入式应用软件的可移植性。双实科技双实科技微软的移动平台更强的功能笔记本笔记本PC复杂的文档编辑和读写桌面键盘输入键盘和鼠标输入法完整的.NET framework 支持Windows XP/XPEWindows XP/XPE平板电脑平板电脑复杂的文档编辑和读写桌面键盘输入支持数字墨水可以支持键盘,也可以把键盘拿走键盘、鼠标、数字墨水和语音输入完整的.NET framework支持提供笔,数字墨水,手写和语音识别APIWindows CEWindows CE小型个人产小型个人产品品单向网络信息消费WWi in nd do owws sMMo ob bi il le eSmartphone信息消费基本数据浏览把PDA融入电话可以与Exchange交互.NET Compact FrameworkASP.NET 移动控件Pocket PC 信息消费浏览和输入数据把电话融入PDA可以与Office,Exchange和SQL Server交互.NET Compact FrameworkASP.NET 移动控件双实科技双实科技Windows Embedded 家族双实科技双实科技VxWoksoVxWorks 是风河公司(WindRiver)开发的一款商用实时操作系统o VxWorks因其良好的可靠性和卓越的实时性,已广泛应用在通信、军事、航空、航天等高端技术及实时要求极高的领域中。双实科技双实科技Embedded Linuxo嵌入式Linux是一种开放源代码、软实时、多任务的嵌入式操作系统。o它是在标准Linux的基础上针对嵌入式系统进行内核裁剪和优化后形成的。这使它体积更小、性能更高。双实科技双实科技将Linux嵌入到各种设备中各种设备中:双实科技双实科技Windows CE概述oWindows CE发展历史oWindows CE能做什么oWindows CE 特性n与桌面版OS比较n与其他嵌入式OS比较双实科技双实科技Windows CE 发展历史o1996年发布WindowsCE 1.0oWindows CE.NET 4.x 被广泛应用o最新版 Windows CE 6.0双实科技双实科技WinCE能做什么:手机、PDA、PMP双实科技双实科技WinCE能作什么:汽车电子BMWBMWCitronCitronClarion Co.Ltd.Clarion Co.Ltd.DaimlerChryslerDaimlerChryslerFiatFiatSubaruSubaruHondaHondaHyundaiHyundaiMitsubishiMitsubishiToyotaToyota双实科技双实科技WinCE能做什么:其它o工业控制o机顶盒o医疗设备o银行ATM系统o放映机和大屏幕显示器oVoIP 设备o双实科技双实科技硬件平台桌面版 WindowsoOnly runs on x86 architectureWindows CEoARM/XscaleoMIPS oPowerPC oSparcox86 双实科技双实科技镜像大小桌面 WindowsoWindows 3.x:2-5MBoWindows 98:400MBoWindows XP:1.5GBo越来越大o不能定制Windows CEo最小:200KBo网络部分大约 800KBoGWES,Shell and Apps 大约 4MB oInternet Explorer 大约 3MB双实科技双实科技实时性桌面 Windowso不具有实时性Windows CEo线程优先级256 级o中断嵌套o每个线程都有独立的时钟嘀嗒o处理优先级反转 双实科技双实科技电源管理桌面 Windowso电源管理实现差Windows CEo电池供电/AC 供电o各设备的电源使用状况o关闭不必要的设备双实科技双实科技编程接口桌面WindowsoASCII/UNICODEo丰富的 APIo强有力的硬件平台Windows CEo只支持UNICODEo部分Win32 API,MFC等o有限的硬件资源双实科技双实科技共享源代码桌面 Windowso商业软件,源代码是微软的一级机密Windows CEo开放CE 6.0的核心源代码用户可以对它进行修改双实科技双实科技多媒体支持其它嵌入式OS:o对音视频支持有限o没有商业的网站浏览器Windows CEo友好的用户界面oWindows Media Player 9,支持mp3,wav,avi,wmvoInternet Explorer 6&Pocket IE双实科技双实科技编程接口Other EOS:o不同的编程接口o常用的 C/C+&j2meWindows CEoWin32 APIoMFC,ATL,STLoCOM,ActiveXo.NET Compact FrameworkoJava VMoEVB,EVC双实科技双实科技镜像大小和实时性其它嵌入式OS:oRTLinux,C/OS-II 支持硬实时oVxworks最小:8koC/OS-II最小:2kWindows CEo非硬实时系统o对于一些特殊的应用镜像可能过大双实科技双实科技Windows CE 优点:o支持在多种不同的CPU硬件平台上运行o源代码共享o丰富的可选组件和功能o定制方便o易使用o与桌面版windows编程接口类似o具有丰富的微软及第三方应用支持双实科技双实科技Windows CE系统开发概述o嵌入式系统结构框架o嵌入式系统开发的角色o嵌入式产品开发流程o嵌入式开发的一般方法o初识BSP双实科技双实科技硬件硬件操作系统操作系统 用户程序用户程序硬件硬件内嵌式操作系统内嵌式操作系统系统组件系统组件用户程序用户程序嵌入式系统结构嵌入式系统结构计算机系统结构计算机系统结构嵌入式系统结构框架嵌入式系统结构框架双实科技双实科技嵌入式应用软件嵌入式应用软件嵌入式操作系统嵌入式操作系统嵌入式硬件平台嵌入式硬件平台处理器处理器外围设备外围设备双实科技双实科技双实科技双实科技.硬件层硬件层由嵌入式微处理器、存储器系统、通用设备接口和I/O接口(D/A、A/D、I/O等)组成。在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(ROM和RAM等),就构成了一个嵌入式核心控制模块,其中操作系统和应用程序都可以固化在ROM中。.中间层 硬件层与软件层之间为中间层,也称硬件抽象层(HAL)或板级支持包(BSP),它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。硬件层硬件层&中间层中间层双实科技双实科技.软件层 软件层由实时多任务操作系统(RTOS)、文件系统、图形用户接口(GUI图形系统)、网络系统及通用组件模块组成。RTOS是一个标准的内核,它将CPU时钟、中断、I/O、定时器等资源都封装起来,留给用户的是一个标准的API函数接口。文件系统主要是给上层应用程序提供文件读写,存储信息等支持。简化上层软件的设计,避免以地址方式读写、存储文件。为了给以后开发USB 的文件系统提供铺垫,也为了方便PC 机与目标机之间通过文件进行通信。软件层软件层双实科技双实科技 GUI图形系统:为了具有友好的人机界面需要嵌入式图形用户界面系统(Embeded GUI),它是专为嵌入式应用设计的,是一组用来实现图形界面功能的程序集。它能够提供高效的、常用的图形界面功能,如各种图形、文字、窗口、控件和动画等。它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境,并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。网络系统:用于在以太网上实现UDP数据的传输,需要有TCP/IP协议栈的支持。TCP/IP协议栈是一组实现网络上各种通讯协议的函数集。双实科技双实科技功能层功能层1.Windows CE应用程序Windows CE应用程序是微软提供的应用程序,主要包括 ActiveSync、文件查看器(包括PDF、XSL、PPT、DOC和图像查看器)、Windows Messenger等应用程序2.Internet客户服务Internet客户服务模块提供了对浏览器应用程序、脚本语言解释引擎的支持。其中包括浏览器组件、Internet Explorer6.0浏览器应用程序、Pocket Internet Explorer浏览器应用程序。双实科技双实科技3.客户应用程序客户应用程序是用户为特定需要编写的特定功能的Windows CE应用程序如可以通过EVC 和VS.NET开发。双实科技双实科技1.芯片制造商芯片制造商负责制造包括CPU、网卡、RAM、及Flash等芯片的厂商。2.设备制造商设备制造商负责制造硬件开发板和产品板。3.操作系统提供者操作系统提供者负责提供嵌入式操作系统。4.软件开发商软件开发商负责在操作系统之上开发具有独立功能的应用程序。5.系统集成商系统集成商负责向最终用户提供产品解决方案。嵌入式系统开发的角色嵌入式系统开发的角色双实科技双实科技从设备制造商得从设备制造商得到硬件和到硬件和 BSP需要设计硬件需要设计硬件?设计实现你的硬件设计实现你的硬件为硬件设计为硬件设计BSP需要定制平台需要定制平台?从设备制造商处从设备制造商处得到平台和得到平台和 SDK 定制你的定制你的 Win CE 平台平台导出你的导出你的 SDK编码、测试编码、测试发布产品发布产品嵌嵌入入式式产产品品开开发发流流程程双实科技双实科技 嵌入式系统的软件开发通常采用“宿主机目标机”方式,首先利用宿主机上的丰富的资源及良好的开发环境开发和仿真调试目标机上的软件,然后,通过串行口或网络将交叉编译生成的目标代码传输并装载到目标机上,最后目标机在特定的环境下运行。嵌入式开发的一般方法嵌入式开发的一般方法代码编写交叉编译 代码运行宿主机目标机双实科技双实科技目标设备目标设备 工作站Platform Platform BuilderBuilderOALOALOALOALDevice Device Device Device DriversDriversDriversDriversOS OS OS OS ComponentsComponentsComponentsComponents特定的特定的Windows Windows CE OSCE OS下载到设下载到设备备导出导出SDKSDK开发开发eMbeddedeMbedded Visual C+Visual C+Visual Visual Studio.NETStudio.NET 双实科技双实科技oWindows CE 能运行在不同 的硬件平台之上:是如何实现的?是如何实现的?答案是答案是 BSP!双实科技双实科技双实科技双实科技一、板级支持包(BSP)BSP是在标准开发板上运行的一部分软件,主要功能是支持操作系统的引导与开发。通过BSP我们可以在开发板上快速的启动操作系统以及分析操作系统的性能。有了BSP的支持,各个OEM(原始设备制造商)厂商就可以缩短基于Windows CE平台产品的开发周期。1、特点:BSP与特定的嵌入式操作系统相关 BSP与开发板一一对应的双实科技双实科技2、BSP 架构标准开发板(Standard Development Board)BSPOAL启动程序设备驱动程序系统配置文件双实科技双实科技3、板级支持包组成、板级支持包组成内容描述引导程序加载操作系统映象OEM 抽象层(OAL)连接内核映象,支持硬件的初始化和管理设备驱动对板载或者系统运行中加载的外部设备提供驱动支持 配置文件对BSP的外部环境变量进行设定双实科技双实科技 硬件平台初始化是bootloader里面最先执行的代码 初始化存储寄存器 设置CPU主频,初始化cache 设置系统时钟 打开MMU 下载/加载Wince内核(串口,Ethernet,USB,CF card,Hard disk)擦出/写flash的代码4、Bootloader的功能模块的功能模块