我们目前有一个带有微控制器的定制板,它通过双端口ram与PC/104 windows CE 5.0板通信。目前,我们使用MmMapIoSpace来映射windows CE中的双口ram,这样我们就可以直接对其进行读写。我们希望加入windows CE 6.0甚至windows XP embedded的现代时代。我们最大的担忧是,根据微软的文档,windows CE6.0和Windows XP中的嵌入式MmMapIoSpace现在是用户空间程序中无法访问的驱动程序级别的功能,这就是我们一直以来使用它的方式。
在我们购买大量硬件和可能的platform builder副本之前,我们一直在尝试弄清楚这是否真的会成为一个问题,如果是的话,我们可以做些什么。我们都没有编写windows驱动程序的经验,所以这看起来是一项很大的任务,然而,从字面上讲,我们编写一个驱动程序只是为了处理这一个函数。
将MmMapIoSpace从Windows CE 5.0移植到Windows CE 6.0或Windows XP Embedded是否简单?(指向Microsoft文档的链接)。
谢谢!
发布于 2013-03-26 23:43:17
MmMapIoSpace实际上首先应该只由驱动程序使用,所以早期的CE版本只是有点混乱,让你从应用程序中使用它。我会创建一个简单的流接口驱动程序,它使用MmMapIoSpace与内存连接,然后使用ReadFile或DeviceIoControl从应用程序中调用该驱动程序。
Windows CE中的流接口驱动程序非常简单明了。它只是一个DLL,定义了一些特定的入口点,然后注册表项告诉device.exe加载它。MSDN有很多例子,但是如果你想更简单,也有a wizard on Codeplex可以为你生成文件。
https://stackoverflow.com/questions/15639296
复制相似问题