WinCE嵌入式开发程序入门
日期:2008年6月25日 作者: 查看:[大字体 中字体 小字体]-
中断处理
作为一嵌入式的的软件开发者,你可能最关心windows CE消息的处理规则是如何影响你的外部系统接口的时序的。windows CE通过细心设计和准确的衡量以保证其中断时序以及其它相关的特位与嵌入式式的系统设计是适用的。
嵌入式应用程序经常有时间临界的设备接口需要,需要发现并且在一最小的规定的时间之内对设备和系统事件作出反应。 为了支持这样应用程序, windows CE包括高度优化中断传送,优先级和服务系统。
在windows CE内核中 ,中断处理分成两个明显的部分:中断服务程序(ISR )以及中断服务线索(IST )。这个系统的目的是使ISR 尽可能小和快。在硬件的层次上,每一中断要求(IRQ )线索路与一特定的软件ISR联系。当被触发时,给定的ISR除了通知内核IST的位置外,还做少量的工作。一旦IST 被初始化(尽管没必要完成),系统便准备好接受下一中断并且处理下一中断。
每一个中断有一个优先级与他们相联系。 windows CE为确定的线索时时序,利用基于优先级的时间片段算法。与每一ISR 被联系的IST 是正常的线索,因此为IST设置优先级以满足应用程序的时序需要是应用程序软件开发者的责任。
这种将ISR 和IST在中断程序中分开处理最终结果是,典型的中断等待时间被大大地减少了,在中断程序中发生不可接受的延迟的可能性也大大减少。此外, 嵌入式式软件包 和windows CE内核的特性使有可能按习惯定制中断时序和优先级,以满足特定应用程序的需要。 Windows CE和其使用的时间临界、实时应用程序在另一篇文章中包括比本文更详细的内容,文章名为《 Real-time Systems with Microsoft Windows CE》。
内存管理
WIN32 API为向开发者提供了一套完备的和一致的接口。 当开发绝大部分应用程序的时候,软件开发者不需要考虑特定内存结构。 然而对于许多嵌入式应用程序,特别是那些有严格的内存资源约束或者临界时序的要求的,对内存被管理的方法有好的理解是重要的。
Windows的内存的一般结构对于不同的32 位Windows平台是不同的,并且特殊的细节结构在同一32 位Windows操作系统下不同的处理机之间也不同。 (例如,Windows NT的内存结构在X86 平台上与在DEC Alpha 平台上的用法十分不同 。) 对于这段的讨论,我们将专门集中在Windows CE操作系统的部分中进行。
Windows CE的存储结构
像其它的32 位Windows平台一样,Windows CE操作系统也有虚拟内存的特性。内存总在某一时间被分配给应用程序一页,页的大小由系统设计者决定(并在操作系统为目标硬件平台创建时被指定)。例如 在手持电脑,内存页大小是典型的1KB 或者4KB 。
在初始化期间(导入),Windows CE创造一个独立的被所有程序共享的4GB 虚拟地址空间。当程序引用一个虚拟的地址时,它被内核记录在物理的内存上。 这使得应用程序软件开发者不必去考虑目标系统内存的物理的布局。虽然所有程序共享单一地址空间,应用程序仍然可避免相互误用。Windows CE 通过改变每页的保护来保护程序内存,而不是分配给每一程序不同地址空间。 作为应用程序开发者,你可能不会太在乎目标系统的内存的物理的结构。 内存可以全部是随机存取内存,或者它可能包括闪存卡或者硬盘驱动器。Windows CE操作系统为你管理内存资源,同时WIN32 API 向你提供必要的分配、使用和释放的内存的接口。
然而,作为一个嵌入式的系统的设计者,你将需要细心考虑将在你新的硬件平台上执行的应用程序的内存需要,并且全面考虑成本、速度和可靠性,平衡各种目标的冲突。 如果你为使用Windows CE开发一个新的硬件平台 ,Windows CE的面向Visual C++ 的嵌入式软件包包括资源可以帮助你做出这些决策,并且从而构成操作系统。
无论你的系统内存的配置如何,ROM(只读内存)将占用十分重要的地位。不同于其它的32位Windows操作系统,Windows CE操作系统的代码在只读内存中,并且在那个只读内存中原地执行。 依据你的产品需要,你也能选择在只读内存中放置应用程序代码。 例如,Pocket Word,Pocket Excel和其它应用程序程序,包括在手持电脑只读内存中被提供的。 - 上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
-
- WinCE嵌入式开发程序入门 相关文章:
- ·最详细的黑客入门法则
- ·大智慧股票软件Level-2入门手册
- ·网络黑客新手入门必备知识
- ·初学者入门:如何学习网页制作?
- ·网吧电影视频服务器架设完全入门教程
- ·请教如何做网站入门?
- ·Windows下C语言网络编程快速入门
- ·彻底弄懂CSS盒子模式(DIV布局快速入门)
- ·入门级:教你用flash画画
- ·告诉你最经典的黑客技术入门知识
- WinCE嵌入式开发程序入门 相关软件
- ·五子连珠棋入门速成
- ·软件破解入门教程和解密常用手册
- ·vc++入门提高
- ·delphi入门大全
- ·泰语入门基础课程上册 V1.0
- ·ASP+SQL入门教程
- ·vc入门教程
- ·photoshop快速入门(上册)
- ·韩国语入门
- ·网页制作最简单入门
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:协议型网络游戏外挂制作之外挂窗口
下一篇:嵌入式系统:后PC时代的擎天之柱
精品推荐
热点TOP10
- ·怎么提高与客户沟通的技巧
- ·数据库设计说明书
- ·如何为嵌入式开发建立交叉编译环境
- ·Linux 系统内核的调试
- ·Tomcat中用web.xml控制Web应用详解
- ·质量管理新七种工具简介(1)
- ·详细设计说明书
- ·使用ADS1.2进行嵌入式软件开发
- ·简单对象协议(SOAP)简介
- ·WinCE嵌入式开发程序入门
- ·SVG与UML图详解
- ·升级Red Hat 9.0(Kernel 2.4.20-8) 至 Linux Kernel 2.6.15 笔记(最全)
- ·利用UML类图设计Java应用程序详解(1)
- ·软件项目可行性分析和需求分析(1)
- ·UML类图详解(1)
- ·VC中利用多线程技术实现线程之间的通信
- ·深入浅出.NET泛型编程
- ·UML组件图详解(1)
- ·Linux编程之多线程常用函数使用实例
- ·Java与UML交互图
