添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何打印 void * ioremap_nocache()的返回值?

0 人关注

我如何用printk打印由函数ioremap_nocache返回的地址值?

void * ioremap_nocache (unsigned long phys_addr, unsigned long size);  

http://mirror.linux.org.au/linux-mandocs/2.6.4-cset-20040312_2111/ioremap_nocache.html

我需要知道存储在调试函数open、read和write的虚拟地址的值。

c
linux
linux-kernel
kernel
linux-device-driver
eduardosufan
eduardosufan
发布于 2013-07-18
2 个回答
Federico
Federico
发布于 2013-07-18
已采纳
0 人赞同

你可以使用 %lu %p 来打印一个指针。它们有不同的表示方法

void *pointer = ioremap_nocache(phys_addr, size);
unsigned long cast = pointer;
printk("%lu - %p", cast, pointer);    // '15294563 - 0x499602d2'

这项工作也与printf()有关

谢谢,我选择使用%p更有用,因为它不改变变量的定义。
pradipta
pradipta
发布于 2013-07-18
0 人赞同

你可以使用以下方法