Wince内存映射注意事项

GPIO寄存器的读写方法。不过我看了还是很多疑惑,为什么在内存映射表里面这样定义
DCD 0x91600000, 0x56000000,  1  ; I/O Port register
而在s2410.h中又会这样#define IOP_BASE      0xB1600000 // 0x56000000
明明定义了是0x91600000却变成了0xB1600000 // 怎么会这样呢?不是说虚拟内训范围只能是0x80000000~0x9fffffff吗?

请了解的人指点一下。

/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////

0x91600000是cached的空间
0xB1600000是uncached的空间,这是wince的内存布局决定的
访问硬件寄存器当然要用uncached的地址

//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////

哦,明白了,给分,结贴
uncached的地址=cached的地址+0x20000000

谢谢hhyh612 。

你可能感兴趣的:(WinCE)