在原子板上访问GPIO
-
23-10-2019 - |
题
在这台计算机上: http://www.nexcom.com/productmodel.aspx?id=376f4f4fa5-64f3-41d1-afba-60EE488883465
我正在尝试访问GPIO,但是Nexcom或Intel的支持都没有很有帮助。
我最接近的是这篇博客文章,该文章说我必须写自己的驱动程序: http://geekswithblogs.net/bruceeitman/archive/2010/08/01/windows-ce-ce-usion-a-driver-to-readwrite-readwrite-hardware-registers.aspx
来自Nexcom手册的IT指出,GPIO端口位于0EE4H(0xee4)。我应该用这个信息做什么?我真的应该写自己的司机吗?
编辑:必须在Windows XP嵌入式XP和Windows 7嵌入的Windows XP上工作。
解决方案
除非有驱动程序公开此功能,否则您无法直接从用户空间流程中访问硬件资源(例如GPIO引脚)。这意味着您要么找到合适的驱动程序(我不知道要在哪里寻找这样的东西),要么您自己写自己的东西。
PS也可能是您的操作系统将GPIO引脚在某个地方暴露。在Linux原型制作板上,一旦有几个文件(IIRC/DEV/GPIOX,X是PIN的数量),如果您拥有适当的权限,则可以读/写入。
其他提示
您需要giveio.sys。
它实际上来自Microsoft。
安装时,您指定所需的端口地址。
然后,用户空间程序可以直接访问端口。
您Unix Bretheren可以将流程作为根而调用ioperm()。 MS遗憾没有这样做,但是giveio.sys还可以。
不隶属于 StackOverflow