在fl2440的内核中,本身已经有了LED驱动,我们要根据自己的需求将它使能即可,重要的是如何找到需要修改的位置,如何修改。首先在make menuconfig 下添加内核对LED驱动的支持,然后我们要在内核的drivers/目录下找到leds,然后去看s3c24xx.c里的代码,然后根据fl2440的硬件原理图对其进行修改,返回内核目录下执行make。再把内核重新烧录开发板,就可以测试led驱动了。
操作如下:
1:内核中添加led的驱动支持
Device Drivers --->
[*] LED Support --->
[*] LED Class Support
<*> LED Support for Samsung S3C24XX GPIO LEDs
2:找到设备信息进行修改
看见里面有leds
找到leds-s3c24xx.c
vim leds-s3c24xx.c
找到.name = "s3c24xx_led"我们用它来找到设备信息文件
用grep命令寻找包含这个字符串的文件
3:由原理图可知
所以修改代码
然后make编译,重新安装内核
4:在开发板上测试
我们可以在sys/class下看到leds
我们进入led3
对led3进行测试:需要用brightness
brightness是控制灯的亮灭,>1亮,0灭。 max_brightness可以控制灯的亮度
echo 2>brightness ;led3亮
echo 0>brightness ;led3灭