This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3359的L4外设的寄存器操作



我想配置3359的I2C为从模式。在UBOOT下面,如果用常用的p=0x44e0b000;然后再通过指针*(unsigned int *)p去访问这个寄存器就会产生data abort的异常中断,用readl(p)就可以正常访问寄存器了。在linux下面,我们新建的空白驱动里,如果去读I2C控制器寄存器也会产生异常。

p = ioremap(0x44e0b000,0x200);

之后,显示映射成功,并且和I2C总线驱动的映射是同一个。

可是之后执行

printk("%x",*p);

就内存访问异常了,采用

__raw_read(p);

也会异常访问异常。把地址换成SPI的也是这样,但只要不是L4 PER MEM就没问题,比如GPMC,MDIO都可以的。请问L4的外设寄存器访问是不是有什么特殊规定?

使能时钟?地址映射?