Chinaunix
标题:
增加一个LED的灯控制到内核问题
[打印本页]
作者:
Pacer
时间:
2007-01-17 17:54
标题:
增加一个LED的灯控制到内核问题
假设想回入一段程序来控制板上的LED灯,应该怎样添加到内核里,能够实现在linux启动时灯就会给出状态.
这里只想知到如何将一段代码做为一个单独的文件添加到内核源中,且不做为模块并在启动时能让它运行起来.
请指点,谢谢.
作者:
zu_xf
时间:
2007-01-22 11:29
标题:
回复 #1 Pacer 的帖子
方法太多了。直接在内核初始化部分加代码,或者写个模块启动时加载,或者写个简单代码启动时执行。
作者:
JAVA_SKY_001
时间:
2007-01-22 12:04
我最近也在做 还没做成
请问二楼的大侠 具体思路是不是 这样 首先是查看到LED所对应的硬件地址 然后通过LINUX的MAP 得到地址
然后对该地址进行 0 1 赋值 控制灯的通断 是否可行????
作者:
seawolf1979
时间:
2007-01-22 12:47
到drivers目录下找一个看看是如何将某个驱动编译到内核里的
作者:
JAVA_SKY_001
时间:
2007-01-22 13:38
收到 谢谢 看看啊 我TRY TRY
作者:
zu_xf
时间:
2007-01-22 14:22
1。如果你是通过CPU本身的GPIO来控制点灯并且该GPIO的控制寄存器地址是跟内存地址统一编址的,那你不需要写驱动,直接在应用程序中mmap一把,然后操作寄存器就行了;
映射后的地址 = mmap(NULL,映射大小,PROT_READ|PROT_WRITE,MAP_SHARED,fd,待映射的起始地址)
2。如果不是,那你有两种选择:
a。在boot/main.c使用C语言或者在更靠前的\arch\XXX\boot目录下的init.s文件中使用汇编来操作GPIO寄存器;
b。如楼上所说,写个驱动,或者编到内核中,或者启东时动态加载。
作者:
Pacer
时间:
2007-01-26 09:40
Say thanks to every feedbacks.
I have killed it successfully.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2