Linux 内存管理机制
内存访问似乎是个特权操作, 用户空间不能使用. ?
内存映射接管的是最底层的内存访问指令. ?
引子: 我们知道Linux中任何时候都只能访问虚拟地址, 那我们是怎么访问到硬件设备(物理地址)的呢?
这里还有个问题是如何把硬件映射到物理地址?
内存管理单元 MMU 的功能
地址转化函数
ioremap(phy_addr, size) 用于将物理地址映射到内核地址空间
iounmap(vir_addr) 用于解除映射
内存访问似乎是个特权操作, 用户空间不能使用. ?
内存映射接管的是最底层的内存访问指令. ?
引子: 我们知道Linux中任何时候都只能访问虚拟地址, 那我们是怎么访问到硬件设备(物理地址)的呢?
这里还有个问题是如何把硬件映射到物理地址?
ioremap(phy_addr, size) 用于将物理地址映射到内核地址空间
iounmap(vir_addr) 用于解除映射