Memory 读取内存时内核模块崩溃

Memory 读取内存时内核模块崩溃,memory,Memory,如果我知道数据的物理内存,因为它是由内存映射的外围设备放在那里的,那么如何在内核模块中访问它?我的第一反应是做一个指针 int * addr; 并分配它 addr = 0x________; 然后读一读 printk(KERN_INFO "%d\n",*addr); 但这样做会导致模块崩溃。这样做的适当方法是什么?您需要为该位置设置内核虚拟地址映射,例如 addr=ioremap\u nocache(0x\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,) 可能重复

如果我知道数据的物理内存,因为它是由内存映射的外围设备放在那里的,那么如何在内核模块中访问它?我的第一反应是做一个指针

int * addr;
并分配它

addr = 0x________;
然后读一读

printk(KERN_INFO "%d\n",*addr);

但这样做会导致模块崩溃。这样做的适当方法是什么?

您需要为该位置设置内核虚拟地址映射,例如

addr=ioremap\u nocache(0x\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,)

可能重复的