版块
论坛
喜欢
话题
应用
搜索
登录
注册
your_ying的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=24958
virtual address --〉physical address?
请问各位大侠,在wince 的驱动里如何将虚拟地址装换成物理地址,如win2k或winxp下的MmGetPhysicalAddrss()。谢谢。
回复
(
19
)
2005-01-19 19:09
来自版块 -
Wince 程序开发
◆
◆
表情
告诉我的粉丝
提 交
wxl_50685330
:
pc的显存物理地址是固定的,0xa0000开始,中间分成了几个部分,字符模式一段,图像模式一段(好像0xa0000-0xaffff是字符模式,0xb0000到0xbffff是图形模式)单色模式一段,彩色模式一段,具体记不太清了,你可以找x86的汇编的书查,基本都有的
(2005-01-31 14:30)
回复
your_ying
:
我想知道显卡的显存基地址,不知如何得到??? 要显存的物理地址!!!!
(2005-01-29 10:29)
回复
joyfly
:
AllocPhysMem()可以得到一段内存的物理地址和进程内的虚拟地址 如果需要对这个虚拟地址进行处理,以便在应用程序或驱动里访问,可以用VirtualAlloc/Copy()和MapPtrToProcess()这些函数去进行处理.
(2005-01-26 13:11)
回复
wwei_wang
:
那效率很低啊! 你做dma传输平均每秒钟的吞吐量是多少?每次传输的吞吐量又是多少?
(2005-01-26 12:12)
回复
wwei_wang
:
效率不低啊,应该能满足要求的!
(2005-01-25 19:20)
回复
your_ying
:
那效率很低啊!
(2005-01-25 17:06)
回复
wwei_wang
:
谢谢,我的用法不是这样的,我的虚拟地址只能在用户层得到,不是在下面分配的. 奇怪为什么ce下没有类似的函数 :( 我也没找到你说的那个函数。但是用在下驱动里面分配共享缓冲区的方法其实也是一样的,你只要实现用户缓冲区和共享缓冲区之间的拷入拷出就行了。
(2005-01-24 08:34)
回复
your_ying
:
谢谢,我的用法不是这样的,我的虚拟地址只能在用户层得到,不是在下面分配的. 奇怪为什么ce下没有类似的函数 :(
(2005-01-22 11:53)
回复
wxl_50685330
:
AllocPhysMem()
(2005-01-21 15:04)
回复
wwei_wang
:
其实你也可以分配一个commonbuffer来进行dma传输。
(2005-01-21 09:04)
回复
1
2
下一页 »
your_ying
加关注
写私信
0
关注
0
粉丝
60
帖子
返回顶部