fl2440内核自带的LED驱动修改与使用

      在fl2440的内核中,本身已经有了LED驱动,我们要根据自己的需求将它使能即可,重要的是如何找到需要修改的位置如何修改。首先在make menuconfig 下添加内核对LED驱动的支持,然后我们要在内核的drivers/目录下找到leds,然后去看s3c24xx.c里的代码,然后根据fl2440的硬件原理图对其进行修改,返回内核目录下执行make。再把内核重新烧录开发板,就可以测试led驱动了

操作如下:

1:内核中添加led的驱动支持

fl2440内核自带的LED驱动修改与使用  

Device Drivers  --->  

[*] LED Support  --->      

[*]   LED Class Support  

<*>   LED Support for Samsung S3C24XX GPIO LEDs

2:找到设备信息进行修改

fl2440内核自带的LED驱动修改与使用

看见里面有leds

fl2440内核自带的LED驱动修改与使用

找到leds-s3c24xx.c

vim leds-s3c24xx.c

fl2440内核自带的LED驱动修改与使用

找到.name     =    "s3c24xx_led"我们用它来找到设备信息文件

用grep命令寻找包含这个字符串的文件

fl2440内核自带的LED驱动修改与使用

3:由原理图可知

fl2440内核自带的LED驱动修改与使用

所以修改代码

fl2440内核自带的LED驱动修改与使用

然后make编译,重新安装内核

4:在开发板上测试

我们可以在sys/class下看到leds

fl2440内核自带的LED驱动修改与使用

我们进入led3

fl2440内核自带的LED驱动修改与使用

对led3进行测试:需要用brightness

brightness是控制灯的亮灭,>1亮,0灭。 max_brightness可以控制灯的亮度

fl2440内核自带的LED驱动修改与使用

echo 2>brightness ;led3亮

echo 0>brightness ;led3灭