linuxyant 发表于 2010-11-26 13:41

如何写个真正的linux设备驱动?????

我想问下各位高手,如何写个真正的设备驱动

比如写触摸屏驱动
我从linux kernel 里面找到触摸屏驱动
我该怎么移植到相应的开发板上
linux kernel里面的驱动是通用的
是不是需要把开发板相应的资源放添加到里面就可以了

求解 如果能够具体就更好

深蓝苹果 发表于 2010-11-26 18:44

先申明,我是小菜,之前摸过一点这个,抢个热凳子 :mrgreen:
----------------------------------------------------------------------------

驱动分几层
1. 最上面是和文件系统相连的,这个到任何机器/板子上都一样
2.中间是设备自身特性的处理,如USB驱动就要按照USB协议处理,这个基本只和协议相关
3.最下层是和硬件打交道的,至少要处理寄存器,这个在不同硬件上差异比较大

LZ要关心的主要是3.
如果开发板和驱动的硬件设定比较近似,改动就比较小甚至不用改动,直接编译即可;如果开发板比较特殊,那要做的东西就不少咯

linuxyant 发表于 2010-11-28 19:46

谢谢楼上的兄弟
没有学过硬件对配置寄存器的时候就觉得有点吃力

EZWORD 发表于 2010-11-28 20:30

硬件配置是最基本的。
触摸屏驱动没玩过,应该不难。

dreamice 发表于 2010-11-29 08:35

回复 3# linuxyant


    你写过单片机驱动吗?
最底层的对硬件的操作跟单片机的驱动是差不多的,只是在linux系统上,要提供对上层的一些包装而已。

lelee007 发表于 2010-11-29 09:47

精辟,言简意赅

armips 发表于 2010-11-29 17:02

回复linuxyant


    你写过单片机驱动吗?
最底层的对硬件的操作跟单片机的驱动是差不多的,只是在 ...
dreamice 发表于 2010-11-29 08:35 http://linux.chinaunix.net/bbs/images/common/back.gif


   
顶顶更健康!

ywf851207 发表于 2011-01-11 19:58

回复linuxyant


    你写过单片机驱动吗?
最底层的对硬件的操作跟单片机的驱动是差不多的,只是在 ...
dreamice 发表于 2010-11-29 08:35 http://linux.chinaunix.net/bbs/images/common/back.gif


    会了以后就觉得不难了 可是现在还是觉得不太懂

Trigger_Huang 发表于 2011-02-28 21:31

其实Linux驱动的编写硬件部分只占一半,更重要的是学习各个子系统的编程规范,比如网络子系统,framebuffer子系统等,还有就是各个总线子系统的了解,比如platform, PCI。等你这些都明白了,你会发现写Linux驱动其实不难,就是程咬金的那“三板斧”。
   其实说起来UI才是真正的挑战的地方。

accessory 发表于 2011-03-01 01:23

每个方向深入下去都是无底洞,写个简单的UI也不难。驱动写的很好也不容易。
页: [1] 2
查看完整版本: 如何写个真正的linux设备驱动?????