港式茶餐厅 发表于 2013-9-27 22:14:09

驱动代码求解啊!版主

6410A的飞凌led驱动代码中的GPMDAT是这样写代码的:
tmp = _raw_readl(S3C64XX_GPMDAT);
    tmp |= 0x10;               
    writel(tmp,S3C64XX_GPMDAT)

我看了6410手册,GPMDAT寄存器是未定义的,我觉得直接赋值就可以了,可飞凌的为什么把这个寄存器的值读出来,与后再写回寄存器?它是没有定义就应该没有值得 啊。读出来的值是多少呢?还有这个_raw_readl(),与readl()这两个函数有什么区别啊?

admin 发表于 2013-9-28 08:37:39

你的问题,我无法解答,寄存器的值需要自己添加printk函数来打印出来看看,其他两个函数你可以百度你下,网上有很多关于这种函数的解释,或者你可以看这个函数的原先代码
页: [1]
查看完整版本: 驱动代码求解啊!版主