阅读:1273回复:4
如何访问物理内存?
先有一块老式ISA板,现用到物理内存d800:0~3fff,在Windows 9x下,可以通过转换为线性地址进行访问,但在Windows 2000下,这一方法似乎不能应用,不知哪位大虾能告知?(windows ddk编程) :mad:
|
|
沙发#
发布于:2004-03-25 19:13
我有个问题:ISA卡好象只有24位地址,现在的内存都超过了这范围,系统是怎么为ISA分配ISA内存地址的?
|
|
|
板凳#
发布于:2004-03-25 21:21
通过\device\memory可以直接访问物理地址。
|
|
|
地板#
发布于:2004-03-26 08:58
先有一块老式ISA板,现用到物理内存d800:0~3fff,在Windows 9x下,可以通过转换为线性地址进行访问,但在Windows 2000下,这一方法似乎不能应用,不知哪位大虾能告知?(windows ddk编程) :mad: 你是怎么做的? 将ISA使用的物理内存映射到线性地址一般应该有这么几个步骤: 1. IoReportResourceUsage 2. HalTranslateBusAddress(translate the bus-relative frame buffer address using the HAL) 3. MmMapIoSpace (map the physical address into system space) |
|
|
地下室#
发布于:2004-03-26 20:28
多谢seaquester
我已经知道了,可怎么送分呢? 另外,获得转换后的地址后,应用程序中是否能像在windows 98中直接读写该地址,我试了一下,在windows 2000/xp中,只能在驱动程序中读写,而不能在应用程序中读写,是否正确? |
|