2011-01-24 49 views
0

在这个机器上:http://www.nexcom.com/ProductModel.aspx?id=376f4fa5-64f3-41d1-afba-60ee48883465访问GPIO上原子板

我试图访问GPIO,但无论新汉或英特尔的支持已经非常有帮助。

我来最接近的是这个博客帖子里面说我必须写我自己的驱动程序:http://geekswithblogs.net/BruceEitman/archive/2010/08/01/windows-ce-using-a-driver-to-readwrite-hardware-registers.aspx

从NEXCOM手册它规定GPIO端口位于0EE4H(0xEE4)。这个信息我应该怎么做?我真的应该写我自己的驱动程序?

编辑:是必须在Windows XP嵌入式和Windows 7嵌入式工作。

回答

3

除非有驱动程序公开此功能,否则您不能直接从用户空间进程访问硬件资源(如GPIO引脚)。这意味着要么找到合适的驱动程序(我不知道在哪里寻找这样的东西)或者你自己写。

p.s.也可能是您的操作系统在某处暴露了GPIO引脚。在一个linux原型开发板上,一旦有几个文件(IIRC/dev/gpioX,X是引脚数),如果你有适当的权限,你可以读/写。

+0

你知道windows是否暴露了引脚? – 2011-01-24 09:29:57

0

您需要GIVEIO.SYS。

它实际上来自微软。

当你安装它时,你指定你想要的端口地址。

然后用户空间程序可以直接访问端口。

你unix bretheren可以调用ioperm()而不是以进程作为根运行。一个耻辱MS没有这样做,但GIVEIO.SYS没问题。