Linux 内核不能直接访问物理地址,必须通过虚拟地址访问。

芯片寄存器是物理地址,为什么要映射成虚拟地址

Linux 启动时开启了 MMU(内存管理单元),所有地址访问都是虚拟地址。

虽然底层是物理内存/寄存器,但内核访问时都是通过虚拟地址间接访问的。

bash 复制代码
项目				内容
谁定义寄存器地址?	硬件设计人员
软件能改吗?			不能,只能遵循手册使用
软件怎么用这些地址?	通过 ioremap 等方式映射后访问
为什么不能直接访问?	需要通过 MMU 映射进虚拟地址空间
相关推荐
CDN3602 分钟前
游戏服稳定运行:360CDN SDK 游戏盾实测体验
运维·游戏·网络安全
bukeyiwanshui20 分钟前
Linux实践
linux·运维·服务器
ChoSeitaku29 分钟前
NO.2|proto3语法|消息类型|通讯录|文件读取|enum类型
java·服务器·前端
xlp666hub30 分钟前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·面试
守望时空331 小时前
使用NetworkManager替换当前网络管理器
linux·运维
MinterFusion1 小时前
如何在开放麒麟(openKylin)下安装FTP服务器(v0.1.0)
运维·服务器·网络·vsftpd·开放麒麟·明德融创·openkylin
爱网安的monkey brother1 小时前
Linux自用文档
linux
xlq223221 小时前
30.进程池IPC
linux·运维·服务器
nuomigege2 小时前
beagleboneblack刷入官方IOT镜像后无法运行nodered问题的处理
linux·运维·服务器
huaxiu52 小时前
ubuntu下应用打不开
linux·运维·ubuntu