linux设备驱动开发中,操作IO的步骤是:申请空间request_mem_region;
映射 IOremap();
操作硬件ioread32();iowrite32();
取消映射iounmap();
释放空间 release_mem_region();
在将物理地址映射为虚拟地址之前最好先申请下内存资源,检查是否可以安全占用该物理地址,譬如我用GPIOB端口,然后我就对这个端口物理地址申请占有,但是我一般一个设备驱动里面可能只会用这个端口的某几个IO口,那我占有了这个端口的物理地址,别的驱动模块想用GPIOB端口的其他IO 口怎么办,不是用不了了吗? |