100分转发一个我也想知道的问题:WINCE 虚拟地址向物理地址转换

xjfox 2007-11-21 02:34:57
网上只看到这个问题,没看到问题的答案,有高手就回答一下吧,谢了

在WinCE的驱动中,那个函数可以实现虚拟地址向物理地址转换呢?


各位大侠,在WinCE驱动中通过物理地址,映射虚拟地址的函数很多。象MmMapIoSpace等,但如果我通过malloc函数得到一个虚拟地址,应该如何转换为物理地址呢?
OALVAtoPA是不能用的,因为NK已经控制内存分配了,当然HalAllocateCommonBuffer可以同时得到物理地址和虚拟地址。
我就想知道一下,如果我只知道一个虚拟地址,WinCE提供了API函数可以转化为物理地址吗?谢谢!!
...全文
329 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
seth1104 2009-02-16
遇到同样问题
回复
fishly_0 2007-12-04
说别人瞎掰的,要不就说出理由来,要不就别乱讲话. 支持nbcool
回复
xjfox 2007-12-04
我看了看,楼上的说的没错,但是并没有回答我的问题。
希望大家多说点有实际内容的,不要指责别人,多谢了
回复
载舟之水 2007-12-03
AllocPhysMem 不是操作物理内存?那么我记错了,你们都是专家了。MapPtrToProcess,MapCallerPtr不是驱动中常用的函数?不好意思我又记错了,我还记得这两个有点常用,和I/O操作有点沾边就贴上了,我以后还是少多管闲事比较好。

各位喜欢断章取义我也没办法,平常怎么没见你们出来回答问题吧,看来喜欢“瞎掰”两字的不少。
回复
fengcuenjiyi 2007-12-03
9樓就是瞎掰
回复
dlyup1 2007-12-03
应该没有提供API直接访问物理地址的,我之前做过一些驱动,不过不是在CE下的,通常驱动下需要直接对物理地址进行访问,主要是寄存器的设定等等,通过物理地址直接访问
回复
hlin99 2007-12-03
虽然我不知道答案,但是回答mapptr,mapcaller是对物理内存操作,简直是瞎说。
回复
hlin99 2007-12-03
搂上简直是瞎说
回复
sdssly 2007-11-30
通过malloc分配的内存是由OS控制的虚拟地址,不能再得到对应的物理地址了吧?如果真的要找到,可能需要了解
wince的内存分配算法了
回复
载舟之水 2007-11-30
有很多函数可以操作物理内存,而且都是些驱动中常用的函数,比如AllocPhysMem ,MapPtrToProcess,MapCallerPtr等
回复
wanderhorse 2007-11-28
估计WinCE这方面的内容不是不开发代码的,所以没有具体知道是怎么样的。
回复
xjfox 2007-11-27
看来无人得知
回复
xjfox 2007-11-22
嗯,确实是映射。但是如果得到映射的结果呢?
回复
载舟之水 2007-11-21
准确地说,地址不是转换,而是映射,这部分代码在MMU里面。
回复
guanqb 2007-11-21
据我所知不能。。。

up
回复
yashi 2007-11-21
VirtualAlloc,VirtualCopy
回复
E_pro_wpj 2007-11-21
关注,顶下!
回复
相关推荐
发帖
嵌入开发(WinCE)
创建于2007-09-28

1.9w+

社区成员

硬件/嵌入开发 嵌入开发(WinCE)
申请成为版主
帖子事件
创建了帖子
2007-11-21 02:34
社区公告
暂无公告