嵌入式爱好者

查看: 10868|回复: 1

[Linux] 驱动代码求解啊!版主

[复制链接]

11

主题

31

帖子

84

积分

扫一扫,手机访问本帖
发表于 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()这两个函数有什么区别啊?
回复

使用道具 举报

80

主题

458

帖子

2847

积分

发表于 2013-9-28 08:37:39 | 显示全部楼层
你的问题,我无法解答,寄存器的值需要自己添加printk函数来打印出来看看,其他两个函数你可以百度你下,网上有很多关于这种函数的解释,或者你可以看这个函数的原先代码
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-22 15:09

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表