阅读:2122回复:2
请教:pci地址空间映射,配置寄存器,ddk下
目的:配置外设pci设备的寄存器
外设dsp(dm642)的寄存器都可以通过base1的8m空间访问。映射的时候应该是用MmMapIoSpace把8M空间进行映射,比如映射成base1=MmMapIoSpace...,然后就可以通过WRITE_REGIST_UNLONG(base1+offset,..,..)等读写 想要问的是 PVOID MmMapIoSpace( PHYSICAL_ADDRESS PhysicalAddress, ULONG NumberOfBytes, BOOLEAN CacheEnable ); MmMapIoSpace调用时,PhysicalAddress的值是多少的。这个值应该是在createdevice时系统系统会分配的吗,如果是,又怎么知道对应的值的(比方base1空间对应的物理地址是多少)。 不知道理解有没有错,如果不是这样映射,那又是什么样子的? 很希望得到大家指点噢,老板赶得急。。。 |
|
沙发#
发布于:2008-09-06 20:14
是不是说配置空间里读出的base0,base1的值就是物理地址?但是我发现这个可以修改的呀,所以觉得有些困惑
大哥能加下我qq吗 (286628127) 谢谢 引用第1楼king00star于2008-09-06 11:31发表的 : |
|
板凳#
发布于:2008-09-06 11:31
配置空间给你的时候,微软已经给你的就是PhysicalAddress,你就直接用好了
|
|