各位老大,我现在在写一个wince下的pci设备的驱动,我获得了pci的内存的基地址,但是我现在不知道在wince下怎么可以进行内存的访问,我以前做别的嵌入式系统是线性内存,所以只要基地址+偏移就可以访问寄存器,但是wince下物理地址和逻辑地址不对应,我就不知道怎么做了
回复(5) 2004-09-10 08:49 来自版块 - Wince 程序开发
表情
wwei_wang我同意wxl_50685330大哥的看法,既然你已经把PCI设备的物理地址转换成了虚拟地址,那么就可以通过虚拟基地址+偏移就可以访问PCI接口芯片内部的寄存器。 :cool:(2004-09-16 14:48)
degyhy123谢谢老大,我觉得老大是一个好人,我一向不称赞别人,这是实话。再次感谢。(2004-09-13 17:09)
wxl_50685330嗯,就这样:)good luck(2004-09-13 12:57)
degyhy123wxl_50685330老大,是这样的,这个虚拟的地址我已经获得了,我现在用*(volatile UINT32 *)(psio->sioaddress +LCR)=LCR_DLAB;来访问寄存器可以吗,其中sioaddress就是我的虚拟地址的基地址,谢谢老大了 (2004-09-11 09:26)
wxl_50685330PVOID MyVirtualMap(PVOID PhyMem, UINT32 size) { PVOID pVirtualAddr; pVirtualAddr = VirtualAlloc( 0, size, MEM_RESERVE, PAGE_NOACCESS )...(2004-09-10 13:52)

返回顶部