编译加载mini2440_led驱动后,测试 该驱动是否有用

原文链接:http://hi.baidu.com/tekuba/item/d72e32eb8f19713d86d9de94


测试文件 leds-test.c:


#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <sys/ioctl.h>

int main(int argc, char **argv)

{

int on;

int led_no;

int fd;

if (argc != 3 || sscanf(argv[1], "%d", &led_no) != 1 ||sscanf(argv[2],"%d", &on) != 1 ||

on < 0 || on > 1 || led_no < 0 || led_no > 3) {

fprintf(stderr, "Usage: leds led_no 0|1\n");

exit(1);

}

fd = open("/dev/leds0", 0);

if (fd < 0) {

fd = open("/dev/leds", 0);

}

if (fd < 0) {

perror("open device leds");

exit(1);

}

ioctl(fd, on, led_no);

close(fd);

return 0;

}


将生成的.ko模块文件装载之后,运行测试文件就可以控制led的变化。


在命令行下执行:

#arm-linux-gcc –o leds-test leds-test.c

将生成可执行目标文件leds-test,通过网络ftp 或者优盘把它复制到开发板中,比如放在/home/plg 目录下

(注意:开发板缺省的文件系统已经有了led 测试程序,所以我们在此改名为leds-test),在开发板的命令行终端执行:

#/etc/rc.d/init.d/leds stop

命令将停止led-player 对led 的控制,关于led-player,可以在用户手册中查看详细的说明。


使用leds-test 控制led 方法为:

#leds-test 3 0 ;关闭LED3

#leds-test 3 1 ;打开LED3


其中第一个参数为要控制的LED 序号,第二个参数代表关闭(0)或者打开(1)对应的LED。

如图


编译加载mini2440_led驱动后,测试 该驱动是否有用_第1张图片

你可能感兴趣的:(编译加载mini2440_led驱动后,测试 该驱动是否有用)