linux内核中s3c2440相关的regs-gpio.h中的几个定义疑惑

#defineS3C2410_GPIO_BANKA(32*0)#defineS3C2410_GPIO_BANKB(32*1)#defineS3C2410_GPIO_BAN... #define S3C2410_GPIO_BANKA (32*0)
#define S3C2410_GPIO_BANKB (32*1)
#define S3C2410_GPIO_BANKC (32*2)
#define S3C2410_GPIO_BANKD (32*3)
#define S3C2410_GPIO_BANKE (32*4)
#define S3C2410_GPIO_BANKF (32*5)
#define S3C2410_GPIO_BANKG (32*6)
#define S3C2410_GPIO_BANKH (32*7)

32*0 ,32*1 ,32*2 ······是什么意思,为什么是32,看不明白,谢谢各位帮忙
展开
 我来答
百度网友8a22a1696
2010-05-11 · TA获得超过187个赞
知道小有建树答主
回答量:405
采纳率:0%
帮助的人:255万
展开全部
一个是一个寄存器有32个bit,而*后面代表的是寄存器号,其实算出来就是寄存器的地址了吧,应该还有个基地址
百度网友d47b291
2012-12-09 · TA获得超过111个赞
知道答主
回答量:90
采纳率:0%
帮助的人:64.8万
展开全部
意思是定义偏移32个字节。
GPACON 地址 0X56000000, GPBCON地址0X56000010 相差应该是16个字节。(可以查数据手册)

为什么定义的是32个字节的偏移呢?
虽然定义的是32,扩大了1倍。但是在用的时候,它使用的宏定义
“S3C2410_GPIO_BASE(pin) ((((pin) & ~31) >> 1) + S3C24XX_VA_GPIO)”
把基地址又除以2,其实还是16个字节偏移。

参考资料: http://www.arm9home.net/read.php?tid=4517

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-05-22
展开全部
一个是一个寄存器有32个bit,而*后面代表的是寄存器号,其实算出来就是寄存器的地址了吧,应该还有个基地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式