[size=12px]#define S3C6410_ADDR(x) (0xF4000000 + (x))
#define S3C24XX_VA_GPIO S3C6410_ADDR(0x00500000)
#define S3C6410_GPIOREG(x) ((x) + S3C24XX_VA_GPIO)
#define S3C6410_GPACON *((volatile unsigned long*)S3C6410_GPIOREG(0x00))
#define S3C6410_GPADAT *((volatile unsigned long*)S3C6410_GPIOREG(0x04))
//port E
#define S3C6410_GPECON *((volatile unsigned long*)S3C6410_GPIOREG(0x0080))
#define S3C6410_GPEDAT *((volatile unsigned long*)S3C6410_GPIOREG(0x0084))
#define S3C6410_GPEUP *((volatile unsigned long*)S3C6410_GPIOREG(0x0088)) [/size][img=http://my.csdn.net/my/album/detail/1236725][/img]
但是S3C64XX_GPACON 它本来的地址是0x7F008000,有人说过是物理地址与虚地址的问题,我想知道的是,这个虚地址的起始位置是定好的吗,还是可以任意改的,还有在内核哪里可以看到虚地址的相关的宏定义之类的源代码???
------解决方案--------------------
[img=http://my.csdn.net/my/album/detail/1236725#][/img]
------解决方案--------------------
http://my.csdn.net/my/album/detail/1236725#这是我的图片地址,上传后不知道为什么打不开!!!!!!!!!
------解决方案--------------------
http://my.csdn.net/my/album/detail/1236725#无法显示图片的地址
------解决方案--------------------
虚拟地址到物理地址的映射是可以改变的.在内核中相关的函数就是用来映射虚拟地址到物理地址的..比如ioremap这个函数就是将IO物理端口的寄存器重新映射到一个虚拟地址.谢谢~~具体在哪.我忘记了...抱歉
------解决方案--------------------
这个。不是吧,只是偏移地址,至于虚拟内存 用ioremap 绑定就可以了
linux 这个和wince是类似的,不过启动的时候是否有影射呢?wince是有的。
------解决方案--------------------
我是linux 初学者,一起学习啊。
------解决方案--------------------
个虚地址的起始位置是定好的吗