ioremap
在驱动中使用,用于建立内核中虚拟地址空间vmalloc与各其他外设寄存器地址之间的映射,期间并不分配新的物理内存,直接映射已知物理地址(寄存器地址)
vmalloc
也在驱动中使用,也是在内核虚拟地址空间vmalloc区申请一段连续的虚拟空间,但物理地址不连续,广泛的用途就是给模块分配内存
mmap
在应用层使用,在用户虚拟地址空间(0-3G)映射区申请一块可用的虚拟地址(vma),然后将这块虚拟空间的地址范围传入到driver,在driver中实现映射:vma<–>物理地址
参考