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

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

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


各位大侠,在WinCE驱动中通过物理地址,映射虚拟地址的函数很多。象MmMapIoSpace等,但如果我通过malloc函数得到一个虚拟地址,应该如何转换为物理地址呢?
OALVAtoPA是不能用的,因为NK已经控制内存分配了,当然HalAllocateCommonBuffer可以同时得到物理地址和虚拟地址。
我就想知道一下,如果我只知道一个虚拟地址,WinCE提供了API函数可以转化为物理地址吗?谢谢!!
...全文
373 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
关注,顶下!

19,520

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧