硬件寄存器内存映射
小弟新手,向前辈请教一点问题,先声道谢!我在写驱动时,在程序中访问硬件中的寄存器,寄存器是怎样映射到内存中的?映射的这相地址如何知道是多少?在程序中直接访问这个地址就相当于访问这个硬件的寄存器。 推荐LZ看一下LDD3中的IO读写的那一章 就是用mmap,随便找个mmap的例子一看就明白了 驱动里面用ioremap_nocache(),返回映射后的虚拟地址 只知道理论,还没有实践操作过 两步:
1, request_mem_region()
2, ioremap() :emn10: 将硬件寄存器地址映射到内核内存空间用函数ioremap,如果想将硬件寄存器地址映射到用户空间可在驱动程序中构造一个mmap的方法。 同意6楼和8楼,以前在产品中做过这样的小驱动。
页:
[1]