驱动程序的资源

驱动程序资源管理是编写设备驱动程序的一个核心,它由以下几部分组成:

资源管理器;

中断处理和IST模型;

设备驱动程序内存管理。

1.资源管理器

系统的资源(包括IRQI/O空间)是由系统表配置和定义的。

2.中断处理和IST模型

WinCE提供了一个有效的中断处理机制,它把对中断的处理分为两部分:中断服务例程(ISR)和中断服务线程(IST)ISR通常要求短小精悍,效率要求很严格。它只决定该怎样处理这个中断,一般情况下不应该做太多的工作。大部分工作依靠IST处理,如将数据移到缓存或处理用户某些特殊要求的工作。

WinCE中断处理模型如下图所示

WinCE支持两种ISR:静态ISR和可安装ISR。静态ISR只能静态地编译进内核,运行时不能改变。与IST通信时,它也只能是单向的,即由ISRIST。静态ISR支持嵌套中断,并且使用内核堆栈。可安装ISR由内核管理程序从动态链接库中加载。和静态ISR不同,它和IST的通信是双向的,多个ISR可以与同一个中断请求相关联,系统按照加载驱动的顺序依次调度。在可安装ISR中,共享内存的使用也比较灵活。

① 当一个硬件中断发生时,它被发送到内核的异常处理器(Exception Handler), 内核处理这个异常。

② 内核的中断支持处理器(Interrupt Support Handler)调用OAL函数OEMInterruptdisable。这个函数通知硬件屏蔽来自于这个硬件的特定中断直到结束必要的处理,而所有其他中断仍是可用的。

③ 内核调用ISR(中断服务例程)来响应中断。

④ 内核收到ISR的返回值,依据该返回值决定如何处理中断。

⑤ 内核触发的中断支持管理器来触发唤醒中断服务线程(IST)并完成它的工作。

⑥ 当中断服务线程(IST)被唤醒时,它做处理中断要做的所有工作。

⑦ 如果需要,IST调用各种I/0函数(I/O Routine)访问硬件来完成工作。

⑧ 中断处理结束后,调用InterruptDone函数通知内核。

⑨ 内核调用OEMInterruptDone完成整个中断处理过程,0AL函数(OAL Routine)通知底层硬件重新开启这个中断。

3.设备驱动程序内存管理

WinCE驱动程序的内存管理涉及的有如下四个方面:

(1)WinCE的地址空间

虚拟到物理物理之间的映射是设备相关的,物理内存被映射到2GB~3GB的虚拟空间区域,而驱动程序的物理内存将被映射到3GB以上的空间区域。

(2)内存管理函数

VirtualAllocVirtualCopyMmMapIoSpaceMapPtrToProcessGetCurrentProcessSetProcPermissions

(3)驱动程序的内存访问
(4)直接内存访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简单易用的软件,可让您尽可能轻松地管理计算机的驱动程序并处理 Microsoft 的驱动程序商店。DriverStore Explorer 是一款轻巧,朴实却非常有用的软件,可为您提供直接的方式来处理 Microsoft 的 Driver Store。尽管它可以帮助您添加和安装驱动程序包(暂存),但在清理较旧的驱动程序版本时,您会发现这个小应用程序特别有用,从而可以回收宝贵的卷空间。 驱动程序存储资源管理器 DriverStore Explorer 中文版 驱动程序存储资源管理器 DriverStore Explorer 中文版 DriverStore Explorer 特色: 支持在线(本地计算机)和离线驱动程序存储。 枚举/列出驱动程序存储中的所有第三方驱动程序包。 显示与驱动程序关联的设备。 将驱动程序包列表导出为CSV。 将驱动程序包添加到驱动程序存储中。 从存储中删除一个或多个驱动程序包。 检测旧的和未使用的驱动程序包(尽最大努力)。 完整的GUI支持在任何列上进行分组/排序。 支持重新排列/选择特定列。 确保存在 .NET Framework 4.0 并以管理员身份运行,仅此而已 您可以想象,DriverStore Explorer 的入门非常简单,因为该应用程序甚至不需要安装。尽管如此,在运行应用程序之前,您仍然需要确保计算机系统上存在 .NET Framework 4.0 或更高版本。 当我们讨论这个主题时,还需要指出的是,在没有管理特权的情况下运行此实用程序可能会导致有限的用户体验,并且禁用了各种功能。 新手可访问的驱动程序管理器 启动该应用程序,它将自动为您提供当前驱动程序存储区中暂存的所有驱动程序包的完整列表。值得一提的是,此列表可以轻松导出为 CSV。 如前所述,应用程序的操作列表并不十分复杂,因此使用它绝对没有问题。您可以在商店中添加并安装驱动程序软件包,删除软件包,甚至在认为必要时强制删除它。该应用程序还能够一次删除多个驱动程序包。 处理 Microsoft 驱动程序商店的最简单方法 考虑到所有因素,DriverStore Explorer 为您提供了一种快速有效的方式来处理 Driver Store 驱动程序包,清理较旧版本的驱动程序并避免了可能不需要的驱动程序在计算机系统上重新安装或自动安装。 DriverStore Explorer [RAPR] 使处理 Windows 驱动程序存储更加容易。 支持的操作包括列出/添加/安装/删除第三方驱动程序包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值