一个基础的课件
- 格式:doc
- 大小:71.00 KB
- 文档页数:14
作者:周毓林这是我写的一个CE的培训资料,不要问我是给谁写的,不过是一点心得,我以后会写一些专门的文章来把我几年的工作经验写出来。
我写的东西基本都是工程经验,不是理论性的东西,所以可能有一些概念性东西写的不是很清楚,还请有知道的教我。
如果你了解CE,就不用看了,如果你对CE还不了解,还没入门,这个还是有点帮助的。
试了多次,不知道图片怎么加进去。
Windows CE 培训教程课程介绍●主要讲解WinCE系统层面的开发知识,非应用层面介绍●讲解有关WinCE的基本知识、概念和开发的内容●要求熟悉C++及操作系统的基本知识●了解Windows操作系统的注册表知识●了解Windows的基本工作原理●了解基本嵌入式定义及基础词汇●WinCE、CE、Windows CE、等均指微软的嵌入式操作系统Windows ,版本以为主●MIPS、ARM、X86、SH4等均指一类CPU的架构,而非特指某一种CPU型号●FLASH 非易失闪存(NOR和NAND)目录前言嵌入式简介课程一Windows CE介绍课程二Windows CE的整体结构课程三CE的目录结构课程四CE的开发流程课程五CE的开发工具介绍课程六内核定制过程课程七CE的加载过程课程八基于CE的应用程序开发附录CE的相关资源嵌入式系统的技术特点●智能内核●软硬件一体化:无冗余、软件固化●专用性:主要完成单一功能或用途●时间性●高可靠性●移动性:低功耗,高性价比●技术融合性当前嵌入式产品的应用规模●嵌入式计算机在数量上远远超过了通用计算机,一台通用计算机的外部设备中就包含了5-10嵌入式设备,键盘、鼠标、光驱、打印机、扫描仪等均可以说是嵌入式系统,在制造业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费电子等方面均是嵌入式计算机的应用领域●嵌入式系统是将先进的计算机技术、半导体技术、电子技术以及各个行业的具体应用相结合的产物,这一点就必然决定了嵌入式是一个技术密集、资金密集、高度分散、不断创新的知识集成系统●今天嵌入式系统带来的年产值己超过一万亿美元嵌入式产品的应用示例什么是Windows CEWindows CE一个非常小巧精致的操作系统。
这个操作系统的核心全部是由C 语言开发的,操作系统本身还包含许多由各个厂家用C和汇编开发的驱动程序。
Windows CE的内核提供内存管理、抢先多任务和中断处理功能。
内核的上面是图形用户界面GUI和桌面应用程序。
在GUI内部运行着所有的应用程序,而且多个应用程序可以同时运行。
Windows CE没有DOS模式。
CE与XP的异同点(一)●设计原则不同●通用操作系统的设计初衷是强调系统整体高性能,因此采用了中断、多任务、虚拟存储、DMA等机制,但也因此丧失了系统行为的确定性和可预测性。
通用操作系统多数由分时操作系统发展而来,大部分支持多用户和多进程。
而分时操作系统的基本设计原则是:尽量缩短系统平均响应时间,提高系统的吞吐率,在单位时间内为尽可能多的用户提供服务。
通用操作系统中采用的很多算法和策略技巧都体现了这种设计原则。
●与通用操作系统不同,嵌入式操作系统除了要满足应用的功能需求外,更注重满足应用的各种实时性要求。
鉴于组成一个应用的众多任务对实时性的要求各异,因此嵌入式操作系统最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性。
可预测性是指在系统运行的任何时刻、任何(最坏)情况下,嵌入式操作系统都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。
●由此可见:通用操作系统注重的是系统的平均表现,而嵌入式操作系统注重的是每个实时任务的个体表现,包括个体最坏情况的表现。
●由于它们的基本设计原则不同,导致二者在资源调度策略的选择上、操作系统实现的方法上都有较大差异。
●工作环境不同●从硬件环境上看,通用操作系统针对的是PC机或是功能更为强大的工作站,具有标准化的CPU、存储和I/O架构。
为了最大幅度的兼容各种软硬件产品,通用操作系统一般都作的面面俱到、体积庞大。
而嵌入式操作系统的硬件环境则相对比较苛刻,通常没有标准化的存储、I/O和显示器架构。
嵌入式微处理器的内存一般都比较小,能源供给常常也很有限,要在如此紧张的资源下完成复杂功能,就要求操作系统必须尽量小巧、高效。
●从应用环境上看,通用操作系统面向复杂多变的多种应用,而嵌入式操作系统则是面向单一设备的单一应用。
●从存储环境上看,通用操作系统通常存储在硬盘等大容量辅助存储器上,而嵌入式操作系统大多是和系统应用软件一起固化在ROM中。
●从开发界面上看,通用操作系统试图屏蔽底层资源,让开发人员通过一系列标准系统调用来使用操作系统功能,而在嵌入式系统中,开发人员能够掌握系统的全部资源,自主进行控制使用。
通用操作系统的研发指导思想是尽可能在不改变自身的前提下具有广泛的适应性,而嵌入式操作系统由于受硬件环境、应用环境、系统成本等限制必须在研发阶段就对操作系统进行灵活的裁剪和定制。
因此,嵌入式操作系统具有可裁剪性。
可裁剪性是指在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。
对于一个具体的嵌入式设备,由于功能相对单一确定,可以从一些原有操作系统中裁剪出特定应用所需要的功能子集。
这样构成的系统既能适应环境满足应用要求,又能减低系统成本。
嵌入式操作系统的这种可裁剪性对于成本敏感的嵌入式应用如消费电子类设备,极具现实意义。
●实时性不同通用操作系统多数情况是根据用户利用键盘和鼠标发出的命令来进行工作,在时序上并不十分严格,而嵌入式操作系统主要是对仪器设备的动作进行监测控制,有很大一部分都具有严格的时序要求,特别是对象航空航天器那样的关键任务系统中,实时性的要求可能达到微秒数量级,在这样的应用环境中,非实时的通用操作系统无法胜任。
l稳定性及交互性不同●通用操作系统庞大复杂,嵌入式操作系统则小巧专一。
越简单越可靠,而越复杂,故障概率就会越大。
●嵌入式系统应用程序通常在很少人工干预的情况下自动完成高度专业化的实时工作,这本身就要求负责系统管理的嵌入式操作系统具有较强的稳定性。
即使提供用户界面,嵌入式操作系统的用户接口一般也不提供操作命令。
它通过系统的调用命令向用户程序提供服务,控制逻辑相对固定。
CE与其它嵌入式系统的比较CE的功能从操作系统内核角度看,Windows CE具有灵活的电源管理功能,包括睡眠/唤醒模式。
在Windows CE中,还使用对象存储(Object Store)技术,包括文件系统、注册表及数据库。
它还具有很多高性能、高效率的操作系统特性,包括按需要换页、共享存储、交叉处理同步、支持大容量堆(Heap)等。
Windows CE具有良好的通信能力,它广泛支持各种通信硬件,亦支持直接的局域网连接以及拨号连接,并提供与PC、内部网、Internet的连接,包括用于应用级传输的设备至设备间的连接。
在提供基本的通信基础结构同时,Windows CE还提供了与Windows 9X / Windows NT的最佳集成和通信。
Windows CE的图形用户界面相当出色,它拥有基于Microsoft Internet Explorer的Internet的浏览器,此外,还支持TrueType字体,开发人员可以利用丰富灵活的控件库在Windows CE环境下为嵌入式应用建立各种专门的图形用户界面,Windows CE甚至还能识别写手体和声音识别、动态影像、3D图形等多种应用。
Windows CE是一个多任务操作系统,可以同时执行多个任务,并在它们之间来回切换,这其时就是Windows的简化版本,可以通过我们熟悉的Windows 操作方式来控制,它带有很多的文档,同其它的Windows操作系统一样,也带有很多的应用程序如WordPad、CMD、纸牌等。
Windows CE内置了多媒体功能,通过MediaPlay可以播放音乐,甚至视频;CE的实时性●实时操作系统(real-time operation system 简称RTOS)是完全实时系统(包括硬件、操作系统和应用软件)的一部份,它必须满足特定系统的要求。
●虽然Windows CE的早期版本提供了一些RTOS特性,但是自Windows 以来,内核的许多重大改变极大增加了Windows CE的实时性能。
实时性比较Windows CE的结构内存管理Windows 只能管理512MB的物理内存和4GB大小的虚拟地址空间。
不同的CPU内存管理方法也不同。
对于MIPS和SHx系列CPU来说,物理地址映射是由CPU完成的,CE内核可以直接访问512MB的物理内存。
对于x86系列和ARM系列的CPU来说,在内核启动过程中它会将现有物理内存地址全部映射到0x8000 0000以上的虚拟地址空间中供内核以后使用。
OEM可以通过OEMAddressTable 来详细定义虚拟地址和物理地址的映射关系。
OEMAddressTable本身并不是一个文件,它只是存在于其它文件中描述虚拟地址和实际物理地址的映射关系的数据。
比如文件oem 中包含一段代码:dd h, 0, 04000000h 。
它表示将整个物理地址(0x0400 0000=64MB)共64MB映射到虚拟地址从0x8000 0000到0x8400 0000中。
整个4GB虚拟地址空间主要划分为两部分,从0x8000 0000以上为内核使用部分,0x8000 0000以下为应用程序使用部分。
详细见下表存储管理与文件系统随着CE的发展,对象存储(Object Store)的作用越来越小,而大容量的永久存储设备被越来越多地采用,这一章将针对CE的文件系统阐述相关的知识,让PB 开发者除了能够加入对永久存储设备的支持,还能做一些优化。
记得在以前讲过的文章中提到了如何在PB中向定制的内核加入对硬盘、光驱的支持(包括ATA设备驱动和各种文件系统),在这里就不再重复了。
CE提供了三种文件系统,基于ROM的文件系统、基于RAM的文件系统、FAT 文件系统。
FAT文件系统使用的范围最广,能够应用在ATA设备、Flash存储设备、SRAM存储设备上,另外CE还允许开发者自己编写并注册一套文件系统,只要接口符合Win32文件系统API即可。
整体目录介绍●C:\Program Files\Windows CE Platform Builder\●WINCE500–SDK●开发所需要的工具集和编译工具等–Platform●各种平台的BSP开发包–Public●这里面什么东西都有,一个字“杂”,难说得上什么分类。
–Private●这个目录下面收录的都是对windowsCE镜像进行操作的工作,但这些工具不是在windowsCE上运行的,而是桌面PC的程序。