主题 : 关于mini2440中应用程序的运行 复制链接 | 浏览器收藏 | 打印
嵌入式,求解脱
级别: 新手上路
UID: 80377
精华: 0
发帖: 34
金钱: 175 两
威望: 35 点
综合积分: 68 分
注册时间: 2012-10-23
最后登录: 2015-05-23
楼主  发表于: 2012-12-07 14:47

 关于mini2440中应用程序的运行

我编译内核,编译程序所用的编译器统一为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都没有效果。