新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式触摸屏驱动程序的研究与开

基于嵌入式触摸屏驱动程序的研究与开

作者:时间:2012-03-21来源:网络收藏

0 引言

Windows CE.NET是一个抢先式多任务并具有强大通信能力的Windows 32位嵌入式操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而从头设计的战略性操作系统产品。可以看出 Windows CE并不是Windows桌面操作系统的一部分或缩减版本。CE系统与其它操作系统一样,也提供了设备驱动程序,以驱动内部或者外围硬件设备。驱动程序将操作系统和设备链接起来,使得操作系统能够识别设备,并为应用程序提供相应的服务[1]。要想真正了解驱动程序必须结合一些驱动程序的实际开发,本文以基于ARM9核心硬件平台的驱动程序为例,讲解如何在不同的硬件设备上实现Windows CE的驱动开发。

1 Windows CE的体系结构

Windows CE是由许多离散模块组成的,每一模块都提供特定的功能。这些模块中的一部分被划分成组件。组件使Windows CE变得非常紧凑,只占不到200KB的RAM,因此只占用了运行设备所需的最小的ROM、RAM以及其它的硬件资源。


图1 Windows CE的体系结构

Windows CE包含提供操作系统最关键功能的4个模块:内核模块;对象存储模块;图形、窗口和事件子系统(GWES)模块以及通信模块。Windows CE还包含一些附加的可选择模块,这些模块可支持的任务有管理流设备驱动程序、支持COM等。

内核是OS的核心,通过Core Dll模块表示。它提供在所有设备中都出现的基本操作系统功能。内核负责内存管理、进程管理、以及特定文件管理等功能。它还管理虚拟内存、调度、多重任务处理以及例外处理等。

对象存储可将用户数据和应用程序数据存入文件或注册器。在操作系统构造进程的过程中,对于这些不同的对象存储组件,可以选取,也可以忽略。

GWES是用户、应用程序和OS之间的图形用户接口。GWES通过处理键盘、笔针动作来接受用户输入,并选择传送到应用程序和OS的信息。GWES通过创建并管理在显示设备和打印机上显示的窗口、图形以及文本来处理输出。

通信组件提供对下列通信硬件和数据协议的支持:串行I/O支持,远程访问服务(RAS),传输控制协议/Internet协议(TCP/IP),局域网(LAN),电话技术API,Windows CE的无线服务。Windows CE的整体架构如图1。

2 设备驱动的中断处理

中断是硬件与软件打交道的重要方法,所以大多数驱动程序都涉及到中断处理。要想了解驱动的开发过程,必须先了解Windows CE中断机制。在CE的中断处理中,一部分工作是由CE Kernel完成的,一部分是由OEM完成的,Windows CE的中断服务例程是由OAL(对象抽象层)实现的。硬件中断被发送到内核的异常处理器,内核的中断支持处理器调用OAL函数 OEMInterruptDisable来屏蔽此硬件的特定中断,然后内核调用ISR来进行物理中断,以中断标志符的形式返回逻辑中断给系统的任务调度程序。系统得到该中断号后,就会找到该中断号对应的事件,并唤醒等待相应事件的线程(IST),然后IST就可以在用户模式下进行中断处理。处理完成后,IST需要调用InterruptDone来通知操作系统中断处理结束,操作系统再次调用OAL中的OEMInterruptDone函数来完成最后的中断处理。其中断的详细处理过程如图2所示。

图2 中断处理过程


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭