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

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

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

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

bash 复制代码
项目				内容
谁定义寄存器地址?	硬件设计人员
软件能改吗?			不能,只能遵循手册使用
软件怎么用这些地址?	通过 ioremap 等方式映射后访问
为什么不能直接访问?	需要通过 MMU 映射进虚拟地址空间
相关推荐
代码游侠1 分钟前
学习笔记——线程控制 - 互斥与同步
linux·运维·笔记·学习·算法
牛奶咖啡1311 分钟前
Linux常见系统故障案例说明并修复解决(下)
linux·服务器·文件系统挂载异常分析并修复·持久化挂载分区文件丢失故障修复·分析系统进程cpu占用率过高
java_logo24 分钟前
Webtop Docker 容器化部署指南:基于浏览器的Linux桌面环境
linux·docker·容器·webtop·webtop部署教程·docker部署webtop·linux桌面
Bruce_Liuxiaowei35 分钟前
SSH主机密钥验证失败(Host key verification failed)深度解析与解决方案
运维·网络·ssh
^_scv_^38 分钟前
QEMU-RISCV平台opensbi代码分析(2)
linux·架构·risc-v
core5121 小时前
Nginx 实战:如何通过代理转发下载中文文件并保留原文件名
运维·nginx·代理·下载·转发
OliverH-yishuihan1 小时前
在 Windows 上安装 Linux
linux·运维·windows
zclinux_1 小时前
【Linux】虚拟化的内存气泡
linux·运维·服务器
爱潜水的小L1 小时前
自学嵌入式day33,互斥和同步
linux
tianyuanwo1 小时前
深度解析 - 软件包依赖安装机制与故障排除
服务器·yum·dnf·安装依赖