如何写个真正的linux设备驱动?????
我想问下各位高手,如何写个真正的设备驱动比如写触摸屏驱动
我从linux kernel 里面找到触摸屏驱动
我该怎么移植到相应的开发板上
linux kernel里面的驱动是通用的
是不是需要把开发板相应的资源放添加到里面就可以了
求解 如果能够具体就更好 先申明,我是小菜,之前摸过一点这个,抢个热凳子 :mrgreen:
----------------------------------------------------------------------------
驱动分几层
1. 最上面是和文件系统相连的,这个到任何机器/板子上都一样
2.中间是设备自身特性的处理,如USB驱动就要按照USB协议处理,这个基本只和协议相关
3.最下层是和硬件打交道的,至少要处理寄存器,这个在不同硬件上差异比较大
LZ要关心的主要是3.
如果开发板和驱动的硬件设定比较近似,改动就比较小甚至不用改动,直接编译即可;如果开发板比较特殊,那要做的东西就不少咯 谢谢楼上的兄弟
没有学过硬件对配置寄存器的时候就觉得有点吃力 硬件配置是最基本的。
触摸屏驱动没玩过,应该不难。 回复 3# linuxyant
你写过单片机驱动吗?
最底层的对硬件的操作跟单片机的驱动是差不多的,只是在linux系统上,要提供对上层的一些包装而已。 精辟,言简意赅 回复linuxyant
你写过单片机驱动吗?
最底层的对硬件的操作跟单片机的驱动是差不多的,只是在 ...
dreamice 发表于 2010-11-29 08:35 http://linux.chinaunix.net/bbs/images/common/back.gif
顶顶更健康! 回复linuxyant
你写过单片机驱动吗?
最底层的对硬件的操作跟单片机的驱动是差不多的,只是在 ...
dreamice 发表于 2010-11-29 08:35 http://linux.chinaunix.net/bbs/images/common/back.gif
会了以后就觉得不难了 可是现在还是觉得不太懂 其实Linux驱动的编写硬件部分只占一半,更重要的是学习各个子系统的编程规范,比如网络子系统,framebuffer子系统等,还有就是各个总线子系统的了解,比如platform, PCI。等你这些都明白了,你会发现写Linux驱动其实不难,就是程咬金的那“三板斧”。
其实说起来UI才是真正的挑战的地方。 每个方向深入下去都是无底洞,写个简单的UI也不难。驱动写的很好也不容易。
页:
[1]
2