从linux内核访问物理内存

从linux内核访问物理内存,第1张

概述我们可以通过一些内核代码访问任何物理内存吗?因为,我写了一个只有init_module和exit_module的设备驱动,代码如下. int init_module(void) { unsigned char *p = (unsigned char*)(0x10); printk( KERN_INFO "I got %u \n", *p); return 0;} 和一个 我们可以通过一些内核代码访问任何物理内存吗?因为,我写了一个只有init_module和exit_module的设备驱动,代码如下.
int init_module(voID) {    unsigned char *p = (unsigned char*)(0x10);    printk( KERN_INFO  "I got %u \n",*p);    return 0;}

和一个虚拟的exit_module ..问题是当我做lsmod时计算机挂起..
怎么了?我应该得到一些访问mem位置的许可吗?

亲切的解释..我是初学者!

解决方法 要访问实际物理内存,您应该使用phys_to_virt函数.如果是io内存(例如PCI内存),则应仔细查看ioremap.

这个整个主题是非常复杂的,如果你是一个初学者,我会建议一些内核/驱动程序开发书/文档.

总结

以上是内存溢出为你收集整理的从linux内核访问物理内存全部内容,希望文章能够帮你解决从linux内核访问物理内存所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存