2011-01-24 81 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沒問題。