虚拟地址和物理地址的问题

时间:2021-10-31 19:35:42
请教下__raw_readl(0x56000010);和__raw_readl(S3C2410_GPBCON)  为啥后者是对的 前者乱码 S3C2410_GPBCON我追踪进去也是0x56000010

3 个解决方案

#1


在内核里面,一般是不能直接使用类似0x56000010的物理地址的。追踪代码进去看到的地址是宏,使用的时候会进行虚拟地址映射;但是如果直接用0x56000010访问物理地址,在内核中一般是不允许的。

#2


首先你要看看S3C2410_GPBCON的值是不是你所看到的。

#3


一般手册上的地址和内核使用的地址要转换。2410的板极代码,已经有转换的宏或函数了。

#1


在内核里面,一般是不能直接使用类似0x56000010的物理地址的。追踪代码进去看到的地址是宏,使用的时候会进行虚拟地址映射;但是如果直接用0x56000010访问物理地址,在内核中一般是不允许的。

#2


首先你要看看S3C2410_GPBCON的值是不是你所看到的。

#3


一般手册上的地址和内核使用的地址要转换。2410的板极代码,已经有转换的宏或函数了。