日期:2014-05-16  浏览次数:20669 次

Linux下写驱动程序时怎样访问,硬件控制寄存器
Linux下写驱动程序时怎样访问控制寄存器

比如,ARM结构的S3C2410,它的一个控制寄存器(或者说数据寄存器)的地址是0x54000040,GPECON,我写驱动程序的时候用什么方法去访问这个寄存器呢?

------解决方案--------------------
系统里应该不是定义了么?
比如:
#define bSPI(Nb) __REG(0x59000000 + (Nb))
#define SPCON0 bSPI(0x00)
#define SPSTA0 bSPI(0x04)
#define SPPIN0 bSPI(0x08)
#define SPPRE0 bSPI(0x0c)
#define SPTDAT0 bSPI(0x10)
#define SPRDAT0 bSPI(0x14)

你访问是只要 SPCON0 = 0x19;这样不就行了?
------解决方案--------------------
例:

unsigned char FLASH_CTL= 0xff;
#define NAND_CS 0x01


FLASH_CTL &= ~NAND_CS;