devmem是如何读写数据的

devmem 操作的是物理地址的数据,但实际上操作(读/写)的是:物理地址被mmap到虚拟地址里的值吗?

不是的。devmem操作的是物理地址上的数据,而不是被映射到虚拟地址空间中的值。通过/dev/mem设备文件可以访问物理内存,但需要特殊权限,因为这可能会破坏系统的稳定性和安全性。mmap()函数则可以将物理地址映射到虚拟地址空间中,从而实现对物理地址上数据的访问。

是的,devmem操作的是物理地址的数据,但是在使用时,物理地址会被映射到虚拟地址空间中。
因此,读写操作实际上是在虚拟地址空间中进行的。

可以在github下载devmem的源码进行分析!
你调用devmem输入的是实际物理地址的值,软件运行会将物理地址映射到虚拟地址空间传递给内核空间!因为linux下应用程序是不允许操作物理地址的,只能操作虚拟地址控制!

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632