1、第7章 嵌入式操作系统操作系统基本概念操作系统基本概念n计算机硬件和软件两个组成部分。软件包括应用软件和系统软件,操作系统是现代通用计算机中最重要的系统软件 n操作系统是一组管理程序,管理计算机的硬件资源和软件资源,为应用软件的提供运行“平台”,使用户更方便、有效地使用计算机。n主要功能包括:接口管理、处理器管理、存储管理、设备管理、文件管理等 嵌入式嵌入式OS与通用与通用OS相同点相同点n嵌入式OS同样具有通用OS的几个基本功能n能够有效管理越来越复杂的系统资源n把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来n提供库函数、驱动程序、工具集以及应用程序 嵌入式嵌入式OS及软件的
2、固化及软件的固化8Mx16位位 flash嵌入式系统不一定需要操作系统嵌入式系统不一定需要操作系统n在PC机中,操作系统是必不可少的系统软件 n嵌入式系统中不一定有操作系统n功能简单系统中,即没有支持操作系统运行的硬件资源,也没有使用操作系统的必要 n高性能嵌入式系统完成复杂的功能,如果仍延续基于裸机的开发方式,软件工作量过于庞大,甚至是不可能完成的任务,这时需要使用操作系统 两类嵌入式系统两类嵌入式系统n基于裸机的系统裸机的系统设计中,用户软件不仅要实现应用功能,还需要完成硬件初始化、设备管理、中断管理、内存分配等所有的软件任务,工作繁琐,但灵活性强n基于操作系统操作系统,在设计嵌入式系统应
3、用软件时可专注于应用功能的设计,而不需在系统管理上耗费过多的精力。但资源占用大,带来额外的成本。嵌入式操作系统特点嵌入式操作系统特点 n模块化,可定制 n实时性强 n稳定性要求高 n代码有固化的要求 n具有良好的硬件适应性,便于移植 嵌入式系统的组成嵌入式系统的组成嵌入式系统硬件抽象层嵌入式系统硬件抽象层n硬件抽象层硬件抽象层是一组系统软件,通过统一的编程接口为操作系统和应用软件提供一个抽象化的运行平台 n硬件抽象层位于操作系统和硬件之间,实现对硬件的操作,并通过标准化的接口为操作系统提供服务,向操作系统提供硬件平台的信息,并根据操作系统的要求完成对硬件的操作 n只要在硬件平台上实现硬件抽象层
4、,那么操作系统就可以移植到该平台上 n板级支持包板级支持包BSP(Board Support Package)是硬件抽象层的一种实现,很多情况下,二者表达的是同一个含义 嵌入式系统硬件抽象层结构嵌入式系统硬件抽象层结构 实时计算机系统概述实时计算机系统概述 n实时系统是能及时响应外部发生的随机事件,并以足够快的速度完成对事件处理的计算机系统n实时系统的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间n计算机系统是一个激励-响应系统,激励-响应周期T,代表着计算机的响应能力。应用对象所规定的响应时间Ta,若TTa,这个系统便是实时系统。实时系统特点实时系统特点 n实时系统具有复杂的约
5、束性约束性:时间约束、资源约束、执行顺序约束和性能约束 n实时任务的执行具有可预测性可预测性:系统能够对实时任务的执行时间进行预测,判断是否能够满足任务的时限要求。是实时系统最基本的性能指标 n实时系统具有高可靠性高可靠性的要求n实时系统需要与外部环境进行交互与外部环境进行交互n实时系统需要满足一定的峰值负荷要求满足一定的峰值负荷要求硬实时系统与软实时系统硬实时系统与软实时系统n在硬实时系统硬实时系统中,系统要确保在最坏情况下的服务时间,即对事件响应时间的截止期限必须得到满足。在这样的系统里,如果一个事件在规定期限内不能得到及时处理则会导致致命的系统错误。n在软实时系统软实时系统中,从统计的角
6、度看,任务能够得到足够的处理时间,到达系统的事件也能够在截止期限前得到处理,但系统不能保证时刻都能满足这样的条件,截止期限条件偶尔没得到满足时并不会带来致命的系统错误。n满足硬实时的系统一定满足软实时的要求,反之未必嵌入式系统实时性嵌入式系统实时性 n嵌入式系统是一种计算机,基于硬件平台,用软件实现事件的检测、数据的收发、信息的处理、控制信号的产生n嵌入式系统与应用对象之间的交互往往有时间限制,这就是嵌入式系统的实时性特点n嵌入式系统激励-响应时间T包括硬件响应时间Th和软件响应时间Ts n软件响应时间是主要因素,这增加了系统实时设计的复杂性 系统性能与实时性的关系系统性能与实时性的关系n系统
7、运行速度高不代表实时性好 n同样的硬件、软件设计,速度快的系统实时性会更强 n当系统不能满足实时性要求时,可以通过提高系统的运行速度来弥补,但会带来负面影响:功耗加大、电磁兼容性能下降、可靠性降低 裸机中的实时软件设计裸机中的实时软件设计 前前/后台的程序结构后台的程序结构:实时性要求高的任务放在中断服务程序(前台)中,实时性要求高的任务放在中断服务程序(前台)中,而其它实时性要求低的任务放在主程序(后台)中而其它实时性要求低的任务放在主程序(后台)中 嵌入式操作系统实时性嵌入式操作系统实时性 n实时性反映了设备“及时”处理事件的能力n嵌入式操作系统管理着嵌入式计算机的硬件、软件资源,必须支持
8、实时任务调度,才能确保整个系统对事件响应的实时性n运行在嵌入式实时系统中,支持系统实现实时任务调度的操作系统,称为嵌入式实时操作系统嵌入式实时操作系统 n按系统对事件响应的时间约束,嵌入式操作系统有硬实时和软实时两种类型 实时实时OS与通用与通用OS设计目标设计目标n通用操作系统中,强调的是系统的平均表现系统的平均表现 n嵌入式实时操作系统首要目标不是提高系统的平均表现,而是通过资源管理、任务调度,确保每通过资源管理、任务调度,确保每个实时任务在最坏情况下也能满足其实时性要求个实时任务在最坏情况下也能满足其实时性要求 n通用操作系统注重的是整体表现整体表现,实时操作系统注重的是每个任务的表现每
9、个任务的表现,更准确地讲是任务在最坏情况下的表现 嵌入式嵌入式RTOS与通用与通用OS设计上的差别设计上的差别n任务调度策略任务调度策略不同:通用OS为动态优先级+时间片轮转;实时OS为静态表驱动方式和静态优先级抢占式调度方式 n内存管理方式内存管理方式不同:通用OS采用硬盘虚拟内存,实时OS不采用虚拟内存或对虚拟内存进行特殊设计n中断处理方式中断处理方式不同:通用OS中断处理程序的优先级被设定为高于任何用户进程;实时OS不合适采用这样的中断处理机制 n共享资源的互斥访问机制共享资源的互斥访问机制不同:通用OS采用信号量机制来解决共享资源的互斥访问问题;实时OS中,往往对传统的信号量机制进行了
10、一些扩展,避免普通信号量机制引起的优先级倒置问题:优先级继承协议和优先级顶置协议。嵌入式嵌入式RTOS与通用与通用OS设计上的差别设计上的差别(续续)n系统调用以及系统内部操作的时间开销系统调用以及系统内部操作的时间开销有差别:实时OS中所有系统调用以及系统内部操作的时间开销都应是有界的;通用操作系统中对这些时间开销则未做如此限制n系统的可重入性系统的可重入性:通用OS核心态系统调用往往是不可重入的;实时OS中核心态系统调用往往设计为可重入的,确保系统的可预测性 n辅助工具辅助工具:实时操作系统额外提供了一些辅助工具,如实时任务在最坏情况下的执行时间估算工具、系统的实时性验证工具等 n实时操作
11、系统对系统硬件设计系统硬件设计也提出了一些要求:DMA、Cache评价一个实时操作系统评价一个实时操作系统n任务调度机制 n内存管理:实模式和保护模式 n最小内存开销 n中断禁止时间与中断延迟时间 n任务切换时间 当实时操作系统运行在核心态或执行某些系统调用的时候,不会因为外部中断的到来而中断执行,只有当操作系统重新回到用户态时才响应外部中断清求,这一过程所需的最大时间就是中断禁止时间中断禁止时间。中断延时时间中断延时时间是指系统确认中断开始直到执行中断服务程序的第一条指令为止的整个过程所需要的时间。嵌入式操作系统选型嵌入式操作系统选型 n实时性 n系统定制能力 n可移植性 n可用的软件、硬件
12、技术资源 n对网络的支持能力 n对图形界面的支持能力n语言支持 n系统的稳定性 n对硬件资源的要求 n研发团队已有技术条件 n系统的使用授权费用常用嵌入式操作系统常用嵌入式操作系统n桌面操作系统种类有限:Windows系列、Linux、UNIX等n嵌入式操作系统有几十种:Windows CE、Nucleus、VxWorks、uC/OS、嵌入式Linux、QNX、pSOS等等n桌面操作系统因为其通用性,容易形成垄断,而嵌入式操作系统因具有应用针对性,种类繁多,百花齐放嵌入式嵌入式Linux Linux简介简介 nLinux最初由芬兰赫尔辛基大学的学生(Linus Torvalds)于1991年开
13、始开发 n1994年按完全自由扩散版权形式发布了Linux的第一个正式版本1.0n为鼓励商业公司参与Linux的开发应用,Linux后来转向GPL General Public License 社会公众享有运行、复制软件的自由自由,发行传播软件的自由,获得软件源码源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制 GNU/Linux Linux只是一个操作系统内核,提供系统服务,如任务管理、
14、虚拟内存、设备管理等。通常所说的Linux,指的是GNU/Linux,即采用Linux内核的GNU操作系统,在该操作系统中,以Linux为内核,使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序 GNUs Not Unix Richard StallmanGNU/Linux操作系统体系结构操作系统体系结构Linux内核结构内核结构 嵌入式嵌入式Linux n嵌入式Linux内核由标准Linux内核裁剪而来 n系统模块化,支持用户定制n经过裁剪、压缩后的系统内核一般只有几百KB n已有多种版本的嵌入式Linux操作系统 n嵌入式Linux支持从FLASH或
15、ROM的启动嵌入式嵌入式Linux的特点的特点n支持多种硬件平台支持多种硬件平台:x86、ARM、MIPS、ALPHA、PowerPC n高效稳定的系统内核高效稳定的系统内核 n开放源码,软件丰富开放源码,软件丰富 n完善的开发工具完善的开发工具:完整的工具链(Tool Chain),实现从操作系统定制及应用软件的设计、调试 n完善的网络通信完善的网络通信 n支持多种文件系统支持多种文件系统:EXT2、FAT32、ROMFS n支持多种图形用户界面支持多种图形用户界面:Microwindows、MiniGUI、Tiny X、Qt/Embedded Linux操作系统类型操作系统类型nRTLin
16、ux nuClinuxnEOSnux、Midinux nRTLinux nLinux原本是个通用操作系统,没有实时任务调度能力 n1996年,第一个Linux实时系统发布,这就是RTLinux。RTLinux的实时内核处于Linux内核和硬件平台之间,为Linux内核提供一个“虚拟机”环境 nRTLinux是一个硬实时的嵌入式Linux操作系统 nRTLinux实现方法:另外设计一个实时内核实时内核,把标准的Linux内核作为该实时内核的一个进程,同用户的实时进程一起调度。避免对Linux内核的大规模改动,也有利于充分利用Linux现有的丰富软件资源 RTLinux操作系统原理操作系统原理 u
17、Clinux nMMU实现虚拟地址到物理地址的转换以及任务内存空间的保护 n标准Linux在硬件上需要MMU支持n为了能在没有集成MMU的低成本嵌入式微处理器上运行,改造Linux内核uCLinuxuCLinux与标准与标准LinuxnuCLinux是精巧的Linux版本,适合低成本、小型化嵌入式系统 n具有标准Linux的大多数优点:稳定、可移植性好、对网络的支持好、支持多种文件系统、支持丰富的标准化用户应用编程接口 n支持多种不同体系结构的硬件平台 nuClinux同标准Linux的最大区别就在于内存管理最大区别就在于内存管理。不能使用标准Linux的虚拟地址管理技术,而是采用实地址进行内
18、存管理。所有程序都直接使用真实的物理地址。操作系统不提供对内存空间保护 nuClinux并不是为了解决Linux实时性而设计的,在这方面与标准Linux并无实质的差别 uCLinux内核结构内核结构 uC/OS-II uC/OS-IIn1992年是美国工程师Jean J.Labrosse设计成功uC/OS,1998年推出uC/OS升级版,即uC/OS-II n是支持可抢占式任务调度的嵌入式实时多任务操作系统实时操作系统n广泛应用在消费类电子产品、医疗器械、网络设备、工业控制等领域 作者:作者:(美)(美)Jean J.Labrosse著,著,邵贝贝邵贝贝 等译等译出出 版版 社:社:北京航天航
19、空大学出版社北京航天航空大学出版社出版时间:出版时间:2003-5-1 uC/OS-II特点特点n开放源代码n良好的可移植性 n支持软件固化 n可按应用需要进行系统裁减 n支持抢占式任务调度 n支持多任务n任务运行时间具有确定性 n采用独立的任务栈 n提供基本的系统服务 n支持中断管理 n良好的稳定性和可靠性 uC/OS的抢占式任务调度的抢占式任务调度 uC/OS-II操作系统任务状态操作系统任务状态uC/OS-II移植的条件移植的条件n处理器的C编译器能产生可重入代码 nC语言可以打开和关闭中断 n处理器支持中断,并且能产生定时中断 n处理器支持能够容纳一定量数据的硬件堆栈 n处理器有将堆栈
20、指针或其它CPU寄存器读出并存储到堆栈或内存中的指令 uC/OS硬件软件体系结构硬件软件体系结构 VxWorks VxWorksn来自Wind River System(09年6月,Intel 收购)n高可靠、硬实时的嵌入式操作系统 n工业控制、军事装备、航空/航天、通信设备 n提供完善的软件开发环境,支持多种调试手段 n包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分 n微内核操作系统微内核操作系统,在内核中只保留实现操作系统服务的最基本功能,而用模块化的用户态服务器完成操作系统中比较高级的操作 VxWorks系统结构系统结构 VxWorks操作系统特点操作系统
21、特点 n采用高性能的微内核结构支持所有的实时特征高性能的微内核结构支持所有的实时特征:快速任务切换、微秒级的中断处理、抢占式和时间片轮转任务调度 n系统具有高可靠性 n系统具有强实时性 n支持按需定制 n具有良好的可移植性:ARM、XScale、MIPS、PowerPC和X86 n提供丰富的网络支持 Tornado开发环境三个组成开发环境三个组成 n运行在开发机和目标机上的系列交叉开发工具和系列交叉开发工具和实用程序实用程序,可对目标机上的应用进行跟踪和调试 n运行在目标机上的高性能、可裁剪的嵌入式实时嵌入式实时操作系统操作系统VxWorksn连接宿主机和目标机的多种通讯模块多种通讯模块,支持
22、以太网、RS-232串口、ICE(In Circuit Emulator)、ROM仿真器等 Tornado 核心工具核心工具 nC/C+编译环境 n图形化的交叉调试器CrossWindn命令行执行工具WindShelln目标机系统状态浏览器Browsern诊断分析工具WindViewn集成仿真器 VxSimTornado开发系统结构开发系统结构 VxWorks与勇气号与勇气号n内置一个特制的抗辐射20MHz PowerPC CPUn配置有128MB内存n 采用VxWorks嵌入式操作系统n勇气号的软件可远程无线升级Windows XP Embedded Windows Embedded Mic
23、rosoft的嵌入式操作系统产品与技术的总称,这些操作系统为开发人员提供了与桌面Windows相同/相似的工具和技术,有利于将以服务为导向的下一代智能互联型设备快速投放市场 Windows Embedded产品系列产品系列 nWindows CE nWindows XP Embedded/Windows Embedded Standard 2009nWindows Embedded POSReady nWindows Embedded Enterprise nWindows Embedded NavReady Windows XP Embedded 兼容性:兼容性:nWindows XP Pr
24、ofessional桌面操作系统的组件化版本 n与XP Professional在软件上完全兼容 n充分利用PC工业长期积累起来的丰富软、硬件资源 特点:特点:nXP Embedded具有灵活的系统定制能 nXP Embedded支持灵活的启动和存储选项 XP Embedded不具备的不具备的XP功能功能 nWindows文件保护(WFP)nWindows XP 漫游 nWindows 安装程序 n联机产品激活 n。Windows XP Embedded开发工具开发工具 n目标机分析器:目标机分析器:自动采集系统所有设备的信息,并生成报告文件,从而为系统开发者简化了目标机结构分析的工作 n目标
25、机设计器:目标机设计器:选择组件、配置系统并最终生成一个用户定制的操作系统映像 n组件设计器:组件设计器:设计自定义的操作系统组件 n组件数据库管理器:组件数据库管理器:维护已有的操作系统组件,还可向组件库载入用户自定义的组件 Windows Embedded Studio定制XP Embedded步骤 n配置目标机系统配置目标机系统,在目标机上加载桌面操作系统,并运行目标分析器探测系统硬件配置信息。n为目标机准备好存储介质为目标机准备好存储介质,并做好格式化。n开发系统基于目标机的硬件设备配置信息,创建基本创建基本的操作系统配置的操作系统配置,还可向配置中加入其它组件。n进行组件的依赖性检查
26、组件的依赖性检查,解决依赖性问题。n创建创建用户定制的XP Embedded操作系统的映像。n将定制的操作系统映像存入目标机映像存入目标机存储介质。n在目标机上引导并测试引导并测试定制的操作系统映像。XPe操作系统定制流程操作系统定制流程 尝试尝试Windows XP Embeddedn 下载Windows XP embedded(75.214MB),已定制好的XP Embedded二进制映象文件,在PC上运行。http:/ 微软试用版开发系统下载http:/ CE Windows CE nC:Compact、Consumer、Connectivity、CompanionnE:Electron
27、icsn应用对象是小型消费类的电子产品,如PDA、智能手机、数码影音产品、Internet网络终端n继承了传统Windows桌面操作系统的图形界面风格 n支持Win32应用程序编程接口,其开发工具也与桌面操作系统工具类似,甚至使用统一的开发平台 n完全自主重新开发的新型嵌入式操作系统 Windows CE发展发展n1996年,Microsoft针对Pocket PC市场发布了Windows CE 1.0 n1997年,组件化的Windows CE 2.0发布 n2000年,Windows CE 3.0发布,支持实时处理以及高级多媒体技术 n2002年,Windows CE 4.0发布 n200
28、4年,Microsoft发布Windows CE 5.0 n2006年秋,Microsoft发布Windows CE 6.0,版本6.0开始,Windows CE改为Windows Embedded CE Windows CE特点特点 n系统经过多年的广泛应用,有良好的可靠性n支持多种不同体系结构CPU,有丰富的设备驱动程序资源n支持灵活的无线、有线网络连接n高效率硬实时系统内核,支持基于优先级的抢占式任务调度n支持SQL Server CE数据库n支持Internet Explorer for CEn支持高级电源管理n具有完善的多媒体处理能力n基于Win32编程接口和丰富的功能组件,提供快速
29、的系统和应用开发支持n使用Unicode(Universal Character Set)字符编码,提供多语言支持 Window CE及及XPe应用应用 Windows CEWindows CE窗口界面窗口界面 基于基于Windows CE的嵌入式系统结构的嵌入式系统结构 WinCE操作系统组成操作系统组成 n操作系统内核:内核实现任务调度、内存管理、异任务调度、内存管理、异常处理及任务间通信常处理及任务间通信等功能,并为其它程序使用这些功能提供服务及编程接口。体现为NK.EXE进程 n多媒体支持模块:为多媒体硬件设备提供标准化的驱动程序接口、为多媒体应用程序提供丰富的API、为各种格式的多媒
30、体文件及流媒体提供编/解码器 n图形窗口事件子系统:为系统提供图形用户界面(GUI),体现为GWES.exe进程(GWES,Graphics、Windows and Events Subsystem)WinCE操作系统组成操作系统组成(续续)n设备管理模块:负责系统中的设备管理,包括设备列表管理、即插即用管理、I/O资源分配管理及驱动程序的加载、卸载和跟踪已经加载的驱动程序及其接口等 n通信服务与网络模块:实现了各种有线(如以太网、公用交换电话网等)、无线(如802.11a/b/g、红外、蓝牙等)的通信功能 n对象存储:Windows CE启动后把系统使用的RAM区域分为对象存储区和程序内存区
31、两个部分,并且默认各使用一半RAM。对象存储区采用RAM文件系统来保存文件,应用程序内存区域留给所有应用程序运行时使用 WinCE操作系统组成操作系统组成(续续)nCore DLL:作为应用层与操作系统层的一个桥梁,将应用层对操作系统的调用传递给操作系统相应的模块,并触发对相应进程的本地过程调用n应用与服务开发模块:应用与服务开发模块:为应用程序开发提供编程接口和服务支持的库模块,这些库模块一般都是一些DLL WinCE应用层应用层n由Windows CE操作系统自带的应用程序,如文档编辑软件、多媒体播放软件等n用户根据产品需要自主设计的应用软件,完成用户的特定需求,用户软件是产品个性化的主要
32、体现 Windows CE文件系统文件系统 nWindows CE文件系统和所有与文件相关的API都是通过FileSys.exe进程来管理 n包括几个组成部分:ROM文件系统、对象存储和存储管理器 n所有文件和文件系统都存在于从根(“”)开始的单个命名空间中 n对象存储是一个内存堆,包含RAM系统注册表、RAM文件系统和属性数据库 nROM文件系统连接到统一文件系统中的“Windows”文件夹 n存储管理器管理系统中的存储设备,并管理基于这些存储设备的文件系统 Windows CE文件系统结构文件系统结构 存储管理器组成存储管理器组成n存储设备驱动程序,存储设备驱动程序,外部存储设备通常是块设
33、备,即以块为单位进行访问 n分区驱动程序分区驱动程序,分区驱动程序是存储驱动程序的转换器 n文件系统驱动程序文件系统驱动程序,将存储设备上的数据以文件和文件夹的形式组织起来,包括UDFS、FAT、TFAT等 n文件系统筛选器文件系统筛选器,对文件系统的调用首先要经过筛选器的处理,随后文件系统才能获得这些调用,目的是实现文件访问的特殊处理,如数据加密、压缩及病毒扫描等 Windows CE物理内存分配物理内存分配nNK区区:系统定制时在Config.bib配置文件中定义的一段RAM区域,Windows CE将NK区看作是ROM n对象存储区对象存储区 n应用程序内存区应用程序内存区 Window
34、s CE虚拟地址空间虚拟地址空间nWindows CE实现一个线性的32位虚拟地址空间n上半部2GB是内核空间,下半部2GB是用户空间 n用户空间被分成64个32MB的Slot,其中SLOT0SLOT32由所有应用程序使用,SLOT0由当前占有CPU的进程使用,SLOT1由XIP DLL使用,其它SLOT用于进程,每个进程占用一个SLOT Windows CE虚拟内存地址空间虚拟内存地址空间 Windows CE系统调度系统调度 n多进程操作系统多进程操作系统:支持最多32个进程(Windows CE 6.0已扩展到32000个进程)n系统进程系统进程:Nk.exe(系统内核)、Filesys
35、.exe(文件管理器)、GWES.exe(图形窗口事件子系统)、Device.exe(设备管理器)、Explorer.exe(Shell进程)、Server.exe(服务管理器进程)等 Windows CE的进程管理的进程管理 Windows CE线程优先级线程优先级 优先级范围线程分配对象096高实时性应用程序的线程97152驱动程序线程153247低实时性应用程序的线程248255普通非实时性应用程序的线程Platform Builder系统定制工具系统定制工具 nWinCE系统软件开发系统软件开发:操作系统定制和应用软件开发 nWinCE定制定制:700多个可选组件,组件之间还可能存在依
36、赖关系 nMicrosoft Platform Builder for Windows CE,简称Platform Builder或PB:用于创建用户自定义Windows CE操作系统的集成开发环境Platform Builder特性目特性目录窗口录窗口文本编文本编辑窗口辑窗口工作空工作空间窗口间窗口菜单与工具条菜单与工具条输出信息窗口输出信息窗口WinCE的定制的定制n用户首先选择目标硬件平台类型:CEPC x86、AMD Geode:x86、SAMSUNG SMDK2410等 n根据系统的配置及功能为目标平台添加各种需要的组件,并设置操作系统的其它配置参数 n开始创建新的Windows C
37、E映像 WinCE定制中的配置文件定制中的配置文件 n二进制映像构建文件二进制映像构建文件(.BIB):规定在操作系统映像中包含的模块和文件,以及这些模块和文件加载到存储器中的方式 n注册表文件注册表文件(.REG):注册表存储了大量的配置信息,包括应用程序信息、设备驱动程序的配置、系统配置信息、用户参数和其它相关数据 n目录和文件分配表文件目录和文件分配表文件(.DAT):定义Windows CE映像NK.bin默认的目录和文件结构 n数据库文件数据库文件(.DB):为对象存储定义默认的基于RAM的属性数据库 Platform Builder配置文件配置文件.BIB文件文件.REG文件文件.
38、DAT文件文件.DB文件文件Common.bibCommon.regCommon.datCommon.dbDcom.bibDcom.regServers.datMsmq.bibMsmq.regPlatform.bibPlatform.regPlatform.datPlatform.dbProject.bibProject.regProject.datWceshellfe.bibWceshellfe.regWceshellfe.datWceshellfe.dbWceappsfe.bibWceappsfe.regWceappsfe.datWceappsfe.dbConfig.bibScript r
39、egWinCE映像创建映像创建4个阶段个阶段 n编译阶段:编译阶段:编译源代码,链接成静态库 n系统产生阶段:系统产生阶段:创建组件(库、BSP、应用软件)n文件复制阶段:文件复制阶段:将前两个阶段产生的文件复制到一个单独的目录,将生成操作系统映像所需所有文件集中起来 n映像创建阶段:映像创建阶段:使用命令Makeimg.exe将“文件复制阶段”集中起来的文件合并成一个独立的映像文件,该文件在默认情况下被命名为NK.bin,当要创建可烧写到Flash中的文件时,文件命名为NK.nb0 Windows CE映像生成过程映像生成过程Windows CE软件开发环境软件开发环境nWindows CE支持传统的本地应用程序和基于Microsoft.NET技术的托管应用程序n开发托管应用程序时使用Microsoft Visual Studio.NET集成开发环境n开发本地应用程序使用eMbedded Visual C+集成开发环境eVC可开发的应用程序类型可开发的应用程序类型nWin32应用程序nMFC应用程序nATL应用程序n动态链接库程序n静态链接库程序课后作业:浏览网站课后作业:浏览网站nhttp:/ 一个不需要介绍的公司nhttp:/ 一个做开发板的公司nhttp:/ 合众达,一个DSP技术服务公司nhttp:/ 一个讨论嵌入式技术的地方nhttp:/