引用 9 楼 cfanlwn 的回复:
引用 4 楼 lan120576664 的回复:
VirtualCopy在wince5.0只能操作物理地址0x56000000>>8,
在ce4.2则只能操作0xB1600000
来操作GPIO口吗?
4.2的也是用物理地址0x56000000啊 跟5.0一样的
那如果我想用虚拟地址0xB1600000操作,应该如何呢?
VirtualCopy 用来绑定物理地址到静态映射虚拟地址:
BOOL VirtualCopy(
LPVOID lpvDest, // 虚拟目的地址指针,接受VirtualAlloc的返回值
LPVOID lpvSrc, // 源物理地址指针
DWORD cbSize, // 大小必须与虚拟地址相同
DWORD fdwProtect // 存取保护类型
);
我见过有人将0xB1600000填在lpvSrc这个位置
操作虚拟地址,也能够实现GPIO
操作物理地址的方式我知道,但虚拟地址就不知道了
有人跟我说,是我在操作虚拟地址的时候没有开启MMU
我想问一下应用程序怎么开启MMU呀
麻烦大家赐教,谢谢!