我正在尝试编写一个使用双端口RAM的程序。我有一个指向设备管理器中设备资源中列出的内存地址的指针。但每次我尝试阅读它时,我都会遇到访问冲突,我做错了什么?根据器件制造商的说法,读取和写入的偏移量为0x0800。
IntPtr ptr = new IntPtr(0xF7E00000);
float value = Marshal.ReadInt32(ptr, 0x0800);
MessageBox.Show(value.ToString());
答案 0 :(得分:1)
如果这是物理地址,则需要设备驱动程序。您无法使用.NET创建设备驱动程序。如果设备附带驱动程序,则可能有一个可以调用的API。
如果您真的需要编写驱动程序,我建议您从Microsoft下载DDK,并学习C和内核模式编程。这不是一项简单的任务。