本文依据网络资料及工作与学习经验整理而成,如有错误请留言。 文章为付费内容,已加入原创侵权保护,禁止私自转载,违者必究。 文章所在专栏:《黑猫带你深入嵌入式系统:从裸机、U-Boot到内核与驱动》
文 / 黑猫学长
1 ioremap / iounmap
● 概述 在 Linux 系统中,无论是内核程序还是应用程序,都只能使用虚拟地址。而芯片手册中给出的硬件寄存器地址或者 RAM 地址则是物理地址,无法直接使用。因此,我们读写寄存器的第一步就是将其物理地址映射为虚拟地址。
● 分类 地址映射分为静态映射和动态映射。
● 动态映射 所谓动态映射,是指在驱动程序中采用 ioremap 函数将物理地址映射为虚拟地址。
原型:void * ioremap(physaddr, size




