Linux驱动中建立动态映射来实现操作寄存器

xiaoxiao2021-02-27  246

//向内核申请寄存器地址空间 if (!request_mem_region(0xE0200240, 4,"gpip_con")) return -EINVAL; //0xE020_0244 is the start of the gpj0 data register if (!request_mem_region(0xE0200244, 4,"gpip_data")) return -EINVAL; //注册寄存器地址空间映射到虚拟内存中的指针 p_Gpj0CON = ioremap(0xE0200240, 4); p_Gpj0DATA = ioremap(0xE0200244, 4); //操作寄存器 *p_Gpj0CON = 0X11111111; *p_Gpj0DATA &= ((0<<3)|(0<<4)|(0<<5)); 取消注册地址空间 iounmap(p_Gpj0CON); iounmap(p_Gpj0DATA); //向内核释放寄存器地址空间 release_mem_region(0xE0200240, 4); release_mem_region(0xE0200244, 4);
转载请注明原文地址: https://www.6miu.com/read-8789.html

最新回复(0)