liujian4423887 发表于 2011-5-11 17:11:55

zhxg544 发表于 2011-5-11 21:30:00

liujian4423887 发表于 2011-5-11 21:33:40

飞凌-fatfish 发表于 2011-5-12 08:15:51

建议楼主直接去找本wince的书籍。
有钱不如去买书。

liujian4423887 发表于 2011-5-12 10:19:16

飞凌-fatfish 发表于 2011-5-12 14:16:03

讲linux的书籍更多了
Linux 设备驱动Edition 3-Linux设备驱动第三版(中文版)
去找个pdf版本的学学

飞凌-fatfish 发表于 2011-5-12 14:27:33

讲linux的书籍更多了
Linux 设备驱动Edition 3-Linux设备驱动第三版(中文版)
去找个pdf版本的学学

liujian4423887 发表于 2011-5-12 15:36:10

飞凌-fatfish 发表于 2011-5-12 16:36:50

呵呵,你自己做过helloworld的模块化驱动么?这个应该挺简单的。总要有个开头的地方。

liujian4423887 发表于 2011-5-12 18:23:29

xiaopang059 发表于 2011-5-12 19:34:40

飞凌-vxworks 发表于 2011-5-13 11:25:33

我来试着讲解一下:
在drivers/led目录下,首先需要关注文件LED.def
这个文件定义了几个函数,最后会注册到系统:
EXPORTS         LED_Init   
                LED_Deinit   
                LED_Open   
                LED_Close   
                LED_Read   
                LED_Write   
                LED_Seek   
                LED_PowerDown   
                LED_PowerUp   
                LED_IOControl
这个文件很重要,系统通过这个文件来明确哪个函数需要注册。
这些函数的实现在哪里呢?在led.cpp中
编译这些文件以后,会生成led.dll
在注册表中会声明这个文件作为启动时加载的驱动。
然后,系统启动以后,应用程序就可以打开这个驱动
然后,应用程序就可以调用这些函数了,
然后。。。你可以随心所欲了

dawnwinds 发表于 2011-5-13 12:12:27

6410里面的驱动在drivers/char/leds/s3cXXX.c,不过驱动里面的注释好像搞反了,cmd=0的时候,注释写关闭灯,实际上是亮灯。

liujian4423887 发表于 2011-5-13 12:20:55

dawnwinds 发表于 2011-5-13 12:23:05

是drivers/char/leds,不是drivers/leds目录

liujian4423887 发表于 2011-5-13 12:29:27

dawnwinds 发表于 2011-5-13 12:55:33

我也是个菜鸟,谈不上指导!!!!
你看那个手册吧,里面有说明各个驱动所在目录。

liujian4423887 发表于 2011-5-13 13:23:45

dawnwinds 发表于 2011-5-13 13:32:03

我的也是6410,2.6.28那个手册里有,在内核编译那个章节的后面,仔细找找

dawnwinds 发表于 2011-5-13 13:33:01

我看了2.6.36.2的代码,我弄错了,是在/drivers/char/s3c6410_leds.c,不好意思,呵呵
页: [1] 2
查看完整版本: 有偿请教6410 linux下的LED驱动程序