社区
嵌入开发(WinCE)
帖子详情
请问WinCE6下面怎么样将虚拟地址转换为物理地址?
superxiaofanqie
2009-04-04 09:32:04
在WinCE6里,怎么样得到一个user space的虚拟地址所对应的物理地址?
以前的LockPage好像只能用于kernel space的虚拟地址,因为这个函数并没有进程ID的参数。
有没有可以得到一个user地址空间的虚拟地址所对应的物理地址的函数?谢谢啦
...全文
125
3
打赏
收藏
请问WinCE6下面怎么样将虚拟地址转换为物理地址?
在WinCE6里,怎么样得到一个user space的虚拟地址所对应的物理地址? 以前的LockPage好像只能用于kernel space的虚拟地址,因为这个函数并没有进程ID的参数。 有没有可以得到一个user地址空间的虚拟地址所对应的物理地址的函数?谢谢啦
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
morris88
2009-04-06
打赏
举报
回复
OEMAddressTable里定义的映射关系是给ARM MMU用的,是在KernelStart(source code参考wince420\private\目录)时建立的,只要WINCE还在跑,就不会解除.
OEMAddressTable 里的Virtual Addr和Physical Addr是对ARM来说的. 其实对于WINCE,就只能访问到它的Virtual address. 也就是说,OEMAddressTable里的Virtual address对WINCE 系统来说才是Physical Address.
经过OEMAddressTable映射后的系统的物理地址,在0x80000000~0x9fffffff之间.是 caching and buffering的地址,这个地址加上0x20000000,就是它的cache & buffering disabled地址.所有的硬件寄存器的地址都在这个地址段上,受MMU保护的.
上面讲的系统的物理地址,从0x80000000~0xbfffffff,在Kernel Mode下都可以直接访问. ISR是在KERNEL里,也就可以直接访问这些系统的物理地址.无所谓"因为ISR只能访问静态映射的虚拟地址".
上面说过,对于ARM来说,有虚拟地址和物理地址之分,对于WINCE来说,也有虚拟地址和物理地址之分. 可以这么说,ARM的虚拟地址就是WINCE系统的物理地址.
32 位的OS总共有4G的虚拟地址空间,WINCE也不例外. 其中,0x00000000~0x80000000是Application Space; 0x80000000~0xffffffff是System Reserved. 系统的物理地址就在System Reserved的这段,只能在KERNEL MODE访问. 那么,当APPLICATION和DRIVER(都是运行在USER MODE)要访问这些在System Reserved地址段的硬件寄存器或MEMORY怎么办呢? 只好再建立一层映射关系,在Application Space里分配一段空间,把它映射到System Reserved里的地址上,这就是VirtualAlloc/Copy和MmMapIoSpace干的事情.
paul_chao
2009-04-06
打赏
举报
回复
1. 沒有聽說過有.
2. LZ 為何需要如此做, 或許將應用說出來, 大家可以參詳一個更好的方法來達到你要的功能.
Paul, Chao @ Techware
shuiyan
2009-04-06
打赏
举报
回复
为什么需要物理地址呢?
WINCE6下禁止在应用层对Kernel层的地址空间进行直接操作。
WinCE
5与
WinCE
6的
虚拟
内存布局.pdf
由于
虚拟
内存的管理和访问依赖于硬件MMU(内存管理单元),
WinCE
6的设计目标之一是确保高效、快速的
虚拟
内存分配和TLB(转换后备缓冲器)缺失处理。 ####
WinCE
6
虚拟
内存管理设计目标
WinCE
6在
虚拟
内存管理方面...
wince
下的地址映射知识点滴
1. 页表映射:
WinCE
使用页表来实现
虚拟
地址到
物理地址
的转换。每个进程都有自己的页表,用于管理其用户空间的映射。 2. 物理内存映射:某些驱动程序可能需要直接访问物理内存,这可以通过将特定的
物理地址
映射到内核...
wince
5.0 IO操作基础.doc
在处理总线挂接的I/O或存储器时,需要将总线
地址转换
为CPU的系统地址。HALTranslateBusAddress函数用于完成这个转换,然后可以使用MmmapIoSpace或TransBusAddrToVirtual将转换后的地址映射到
虚拟
地址。值得注意的是...
wince
下
虚拟
串口gps源码
本文将深入探讨"
WinCE
下
虚拟
串口GPS源码"的相关知识点。 首先,我们要理解什么是
虚拟
串口。
虚拟
串口是一种软件实现的通信端口,它模拟了传统物理串口的功能,允许应用程序像操作实际串口一样与其交互。这种技术通过...
一个作品
WinCE
平台的
虚拟
串口工具.zip
- **协议转换**:
虚拟
串口也可以作为不同通信协议之间的桥梁,比如将TCP/IP协议转换为串行通信协议,以兼容那些只支持串口的传统设备。 5. **性能与稳定性**:
虚拟
串口工具的性能和稳定性是衡量其质量的重要指标...
嵌入开发(WinCE)
19,520
社区成员
41,566
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章