2013-03-26 61 views
1

我们目前拥有一块带有微控制器的定制板,通过双端口RAM与PC/104 windows CE 5.0板交谈。目前我们使用MmMapIoSpace在Windows CE中映射双端口RAM,以便我们可以直接读取和写入它。我们正在寻找加入Windows CE 6.0甚至Windows XP嵌入式的现代时代。我们的一个重要问题是,根据微软的文档,Windows CE 6.0和Windows XP Embedded中的MmMapIoSpace现在是用户空间程序无法访问的驱动程序级功能,这是我们如何使用它的。如何将MmMapIoSpace从Windows CE 5.0移植到6.0或XP Embedded?

在我们外出购买大量硬件和可能的平台构建器之前,我们一直在试图弄清楚它是否会成为问题,如果是的话我们可以做些什么。我们都没有经验写Windows驱动程序,所以看起来像一个大的事业,但是我们真的会写一个驱动程序来处理这个功能。

将MmMapIoSpace从Windows CE 5.0移植到Windows CE 6.0还是Windows XP Embedded很简单。 (链接到Microsoft文档)。

谢谢!

回答

3

MmMapIoSpace真的应该只能被驱动程序使用,所以早期的CE版本在让您从应用程序中使用它的时候会有点混杂。我会创建一个简单的流接口驱动程序,使用MmMapIoSpace与RAM进行交互,然后使用ReadFileDeviceIoControl从您的应用程序调用该驱动程序。

Windows CE中的流接口驱动程序非常简单直接。它只是一个定义了特定入口点的DLL,然后是注册表项来告诉device.exe加载它。 MSDN有很多例子,但是如果你想要更简单的话,还有a wizard on Codeplex也可以为你生成这些文件。

+0

谢谢!这正是我需要的那种反馈。如果我有代表赞成你,我会的。(编辑:现在我做)。 – ApockofFork 2013-03-26 15:56:59

相关问题