4.驱动程序的资源:
驱动程序资源管理师编写驱动程序的一个核心,由以下基本分构成:
(1)资源管理器:在wince中,系统资源(包括IRQ 和I/O 空间)是由系统注册表配置和定义的,资源管理器跟踪可利用的系统资源,并管理驱动程序加载时资源的请求与分配。通常OAL和注册表会预先分配一些总线驱动请求的IRQ和io空间。当device.exe被加载并开始运行时,它启用资源管理器组件来从注册表读取可利用的资源列表。资源管理器指出对于一个调用的的驱动程序哪些给定的资源是可利用的,通过使用在驱动程序中的资源管理器服务可以避免系统的资源冲突。
(2)设备的中断处理和IST模型(见wince中断处理)
(3)设备驱动程序的内存管理:包括wince地址空间,内存管理函数,驱动程序的内存访问(DMA)
wince地址空间:对驱动程序来说,设备的物理基地址空间也必须映射到虚拟内存地址空间才能实现驱动程序对设备的访问,所以地址映射是wince驱动程序要做的第一步。驱动程序的物理内存江北映射到3GB以上的空间区域,可被MmMapIoSpace函数访问。驱动程序能够访问任何一个进程的内存,但为此必须知道如何锁定那些地址空间的权限。