linux在arm中并没有IO端口概念,寄存器和内存坐落内存空间的时分称作IO内存。
这儿简单说一下操作过程:
1、请求
2、映射
3、拜访
4、开释
具体操作操作过程如下:
1、请求——request_mem_region
请求后在体系相当于对已有资源做了个符号,即本资源现已请求占用,若相同资源再请求时内核会报错。
2、映射———ioremap
经过ioremap才能将物理寄存器地址映射成虚拟地址方能于内核中使用,这儿的优点是,能够经过基地址加偏移来拜访寄存器。
3、拜访
这儿有特定的读写操作函数如writel etc.
4、开释
映射完后要开释资源使用到的函数为iounmap+release_mem_region
阐明:有时不经过请求而直接映射拜访,只不过,这样有点不标准,但内核中的使用仍是许多,并且简单相互影响。