打印

关于天嵌的内核2.6.30.4的一些疑问

[复制链接]
1914|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kgkg|  楼主 | 2010-4-2 23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是一个新手, 在u-boot和内核移植完成之后想开始搞驱动,现在正在搞中断的编写。在调用request_irq函数时我发现flags参数定义的一些宏在该内核中找不到定义,比如说SA_INTERRUPT就找不到,后来我查看了内核2.6.22.6,SA_INTERRUPT在include/linux/Interrupt.h文件中定义,我想问那中断我该怎么编写呢?同样都是2.6内核为什么文件的内容差别有这么大么?
还有,我发现2.6.30.4版本并不支持i386,难道每个内核都有这么大的差别么?
我是驱动新手,我看点灯的时候有操作IO口的函数,比如write_gpio_bit,但是在2.6.30.4中并找不到。这个函数实际上也就是对寄存器进行操作吧。还有我在网上下了一些中断的驱动,对于中断的触发方式有的人置寄存器,有的人直接用set_irq_type(k->irq_no, IRQT_FALLING),还有的用set_external_irq(k->irq_no, EXT_BOTH_EDGES, GPIO_PULLUP_DIS);前面一个函数2.6.30.4找得到,后面一个找不到,那驱动编写的时候是要去了解这些内核留出来的接口函数还是自己老老实实的去对寄存器操作呢?
这段时间我翻了不少的书,也参看了网上不少的代码,基本上没有一个能够兼容2.6.30.4内核,唯一的办法就是自己置寄存器。现在我感到非常的困惑,有经验的前辈能否分享一下驱动编写的心得呢?
    先谢谢了!

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:认真学习,虚心请教。

9

主题

39

帖子

0

粉丝