我编译内核,编译程序所用的编译器统一为arm-linux-gcc4.4.3,这样没问题吧?
在内核中已经加载了led的驱动程序,然后怎样设计应用程序控制led亮灭呢。
#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);
ioctl(fd, 0, 1);
ioctl(fd, 1, 1);
ioctl(fd, 2, 1);
ioctl(fd, 3, 1);
close(fd);
return 0;
}
main函数的两个参数是什么意思?
我开机后,led并没有流水,没有运行默认的led-player程序。
输入led 1 1或者leds 1 1都没有效果。