访问PCI设备内存

时间:2014-05-28 13:59:09

标签: c# pointers resources

我正在尝试编写一个使用双端口RAM的程序。我有一个指向设备管理器中设备资源中列出的内存地址的指针。但每次我尝试阅读它时,我都会遇到访问冲突,我做错了什么?根据器件制造商的说法,读取和写入的偏移量为0x0800。

Device Memory Range

IntPtr ptr = new IntPtr(0xF7E00000);

float value = Marshal.ReadInt32(ptr, 0x0800);
MessageBox.Show(value.ToString());

1 个答案:

答案 0 :(得分:1)

如果这是物理地址,则需要设备驱动程序。您无法使用.NET创建设备驱动程序。如果设备附带驱动程序,则可能有一个可以调用的API。

如果您真的需要编写驱动程序,我建议您从Microsoft下载DDK,并学习C和内核模式编程。这不是一项简单的任务。