Linux下ARM寄存器映射定义

在Linux系统下,不能直接通过使用寄存器的名称来操作寄存器,但是可以建立自定义寄存器和实际地址的映射关系,操作方法如下:

1、定义寄存器名称:

volatile unsigned long *gpfcon;	//定义GPF控制寄存器
volatile unsigned long *gpfdat;	//定义GPF数据寄存器


2、建立寄存器和实际地址的对应关系:

gpfcon = (volatile unsigned long *)ioremap(0x56000050, 16);	//建立寄存器和实际地址的映射
gpfdat = gpfcon + 1;

3、操作寄存器

*gpfcon &= ~((0x3<<(0*2)) | (0x3<<(2*2)));	//设置IO口
regval = *gpfdat;				//读取寄存器的数据







你可能感兴趣的:(Linux驱动)