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

S3C2410 SPI驱动问题(高手敬请入场)
S3C2410的IIC和SPI的相关寄存器都是8位有效的,我用ioremap后,对相关寄存器iowrite8和ioread8操作,结果是比如:写入0x18,经过wmb()后,读出却是0x00。
但是同样的代码(iowrite/read8改成iowrite/read32),我对8位以上的其它寄存器操作就正常(比如:pwm,iis等),各位大侠救救小弟我吧(我的内核版本是2.6.12)

------解决方案--------------------
嵌入式软件工程师必须明白的几个方面:
1.向外设某寄存器写入数据后,并不一定是立刻生效(这跟内存读写不同),有可能需要一定的延时
2.外设寄存器并不一定是可读写的,有些只能写,有些只能读,有些寄存器写入与读出的值是不相同的,它们代表的意义也有所不同