作者:ARM-WinCE
在CEDDK中提供了用于地址映射的函数,在CEDDK/ddk_map/ddk_map.c中。该模块中主要提供了两个函数用于物理地址到虚拟地址的映射与取消映射:
1. PVOID MmMapIoSpace(PHYSICAL_ADDRESS PhysicalAddress, ULONG NumberOfBytes, BOOLEAN CacheEnable)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
PhysicalAddress:要被映射的物理起始地址
NumberOfBytes:要被映射的字节数
CacheEnable: 是否使能Cache,如果是映射设备的寄存器,应该是FALSE
驱动中经常会用到该函数而且一般是在初始化的时候,从物理地址映射出虚拟地址,然后通过虚拟地址来操作设备。该函数实际上调用了VirtualAlloc和VirtualCopy函数来完成从物理地址到虚拟地址的映射,函数的返回值为映射后的虚拟地址。
2. VOID MmUnmapIoSpace(IN PVOID BaseAddress, IN ULONG NumberOfBytes)
BaseAddress:指向被映射后的虚拟地址
NumberOfBytes: 被映射的字节数
该函数用于取消映射,是通过调用VirtualFree函数来实现。
在该模块中还可以看到TransBusAddrToVirtual和TransBusAddrToStatic两个函数,这两个函数已经被CEDDK的Bus模块中的BusTransBusAddrToVirtual和BusTransBusAddrToStatic两个函数所代替,这两个函数以前已经介绍过,这里不再重复了。
分享到:
相关推荐
在XXX.cpp文件中,引入必要的头文件,例如`<windows.h>`、`<ceddk.h>`等,以便使用WinCE6.0的API和DDK(Driver Development Kit)。定义全局变量`g_pGPIOReg`,用于存储GPIO寄存器的指针,这是与硬件交互的基础。...
在 WINCE 设备驱动程序开发中,需要使用汇编语言对端口进行读写,使用 CEDDK.dll 提供的 APIs 与硬件进行通信。同时,需要了解 WINCE 操作系统的中断处理机制,以便正确地处理中断。 WINCE 设备驱动程序开发的优点...
.........\................\访问物理内存&CEDDK.ppt ..........\Wince嵌入式操作系统教学日历1.doc .........\Windows CE简介.doc .........\修改 .........\....\wince试卷A.doc ..........\....\wince试卷B...
2. `ceddk.def`:这是设备驱动开发套件(Device Driver Development Kit, DDDK)的定义文件,它包含了WinCE6.0中设备驱动程序的导出函数和常量定义,帮助开发者编写与系统兼容的驱动。 3. `touch.def`:这个文件...
WinCE6.0平台上的摄像头驱动程序 #include //#include #include #include "pmplatform.h" #include <ceddk.h> #include #include #include "camif.h" #include "camera.h" #include "s3c2440a_lcd.h
标题 "基于RS232串口蓝牙WINCE 驱动源代码" 指涉的是一个专为Windows CE (WINCE)操作系统设计的驱动程序,该程序允许设备通过RS232串行接口与蓝牙模块进行通信。RS232串口是一种古老的通信标准,广泛用于连接计算机...
然而,Windows CE提供了一个名为CEDDK(Windows CE Device Driver Development Kit)的库,包含了一系列API函数,如HalGetBusData、READ_PORT_UCHAR和WRITE_REGISTER_ULONG等,使得开发者可以用C语言或者其他高级...
在本文中,我们将探讨如何进行山寨XIP(eXecute In Place)的移植过程,主要涉及从原始固件提取XIP.bin文件,分解XIP.bin,移植不同版本的XIP模块,以及重写地址映射。这是一个针对嵌入式系统,特别是基于某些特定...
- 工具使用:如Visual Studio集成开发环境,以及CEDDK中的编译、链接和调试工具。 通过阅读《Windows CE 设备驱动程序开发指南》,开发者可以掌握创建、优化和调试驱动程序的技能,从而为Windows CE平台的硬件提供...
然而,为了简化开发,有些操作系统如Windows CE提供了CEDDK.dll库,提供了APIs来与硬件通信,例如HalGetBusData、READ_PORT_UCHAR和WRITE_REGISTER_ULONG等函数。对于逻辑设备,可以使用Win32 APIs来获取数据。 ...
Windows CE Device Driver Development Kit (CEDDK) 提供了一系列API,如HalGetBusData、READ_PORT_UCHAR和WRITE_REGISTER_ULONG,用于方便地与硬件进行通信。此外,Windows CE还支持逻辑中断(SYSINTRs),通过用户...
然而,Windows CE仍提供了如CEDDK.dll库,该库包含了一系列APIs(如HalGetBusData, READ_PORT_UCHAR, WRITE_REGISTER_ULONG等),供开发者用于与硬件进行低级别交互。 设备驱动程序的开发通常涉及到对硬件特性和...