[嵌入式linux] 开始学linux驱动,三个月熟悉,立帖为证!每日汇报进展

[复制链接]
70684|269
fastolf 发表于 2011-11-4 14:28 | 显示全部楼层
佩服楼主!
ycz9999 发表于 2011-12-22 23:02 | 显示全部楼层
每一次看都有不一样的感觉和收获    MARK
db10 发表于 2012-1-19 14:50 | 显示全部楼层
整理下一个文档出来!
LANGshanhao 发表于 2012-3-2 11:19 | 显示全部楼层
qhuang 发表于 2012-3-6 13:05 | 显示全部楼层
supreme42 发表于 2012-3-13 14:20 | 显示全部楼层
你们公司还能给你时间专门学习啊?太爽了,哪家公司这么好
firemoon915 发表于 2012-4-28 10:22 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
 楼主| tiger84 发表于 2012-6-9 10:34 | 显示全部楼层
你们公司还能给你时间专门学习啊?太爽了,哪家公司这么好
supreme42 发表于 2012-3-13 14:20
时间都是自己的,看你如何安排了
2005820037 发表于 2012-6-26 22:42 | 显示全部楼层
3年了,楼主还在更新,不错啊
flyriz 发表于 2012-7-5 16:08 | 显示全部楼层
强,我也在学习中,加油!
flyriz 发表于 2012-7-5 16:09 | 显示全部楼层
讨论一个问题:
学习ARM驱动程序的时候碰到一个IO操作函数s3c2410_gpio_cfgpin(),打开linux内核源代码(版本linux-2.6.29.4),想把它看明白,具体代码如下:
s3c2410_gpio_cfgpin(S3C2410_GPB5,S3C2410_GPB5_OUTP);

参数S3C2410_GPB5 宏展开:为方便描述,展开后用等号表示
S3C2410_GPB5 = S3C2410_GPIONO(S3C2410_GPIO_BANKB, 5)
S3C2410_GPIONO(bank,offset) = ((bank) + (offset))
S3C2410_GPIO_BANKB=(32*1)       
S3C2410_GPB5 = (32*1)+5

参数S3C2410_GPB5_OUTP 宏展开:
S3C2410_GPB5_OUTP = (0x01 << 10)

参数简化后的函数:
s3c2410_gpio_cfgpin(S3C2410_GPB5,S3C2410_GPB5_OUTP)=
s3c2410_gpio_cfgpin( (32*1)+5,(0x01 << 10) )

进入函数:s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function) ,
碰到的第一个子函数是:
S3C24XX_GPIO_BASE(pin),宏展开:
S3C24XX_GPIO_BASE(pin) = S3C2410_GPIO_BASE(pin)
S3C2410_GPIO_BASE(pin) = ( ( ( (pin) & ~31 ) >> 1 ) + S3C24XX_VA_GPIO )
S3C24XX_VA_GPIO = ( (S3C24XX_PA_GPIO-S3C24XX_PA_UART) + S3C24XX_VA_UART )
S3C24XX_PA_GPIO = S3C2410_PA_GPIO = (0x56000000)
S3C24XX_PA_UART = S3C2410_PA_UART = (0x50000000)
S3C24XX_VA_UART = S3C_VA_UART = S3C_ADDR(0x01000000)
S3C_ADDR(x)=(S3C_ADDR_BASE + (x))  S3C_ADDR_BASE=(0xF4000000)
S3C24XX_VA_GPIO =(0x56000000)-(0x50000000)+(0xF5000000)
                   =0xFB000000
所以展开后的子函数:
S3C24XX_GPIO_BASE(pin)=( ( ( (pin) & ~31 ) >> 1 ) + 0xFB000000
这个地方看不懂,从子函数名字看是要根据输入的参数pin,得到这个引脚的基地址,为什么是这样的一个结果?
hsh88761839 发表于 2012-7-17 16:29 | 显示全部楼层
楼主开贴三年了,来给大家展示下你现在的情况哈
sys_suweixiao 发表于 2012-7-19 15:17 | 显示全部楼层
楼主真好。。。对初学者很有帮助。
zjh2287 发表于 2012-10-8 13:22 | 显示全部楼层
LZ一路走来不易,敬佩!
zhongguoluren 发表于 2012-10-20 15:52 | 显示全部楼层
支持,学习是个辛苦活
zhongguoluren 发表于 2012-10-20 23:52 | 显示全部楼层
加油!看你的帖子也能学到东西哈
激扬青春 发表于 2012-10-27 20:12 | 显示全部楼层
同加油。我也在学习。
zjf0000 发表于 2012-10-29 20:46 | 显示全部楼层
哥们 9260的cf卡搞定没?
wuyanwxt 发表于 2013-2-4 09:45 | 显示全部楼层
最近在玩at91sam9263忽然看到这个帖子,太敬业了,在此表示感谢,以后互相讨论哈
周末 发表于 2013-2-4 15:00 | 显示全部楼层
顶一下sinajj, 做练习的实例,越短小越好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部