天嵌 ARM开发社区

 找回密码
 注册
查看: 1226|回复: 3

嵌入式打开设备open()函数的疑惑

[复制链接]
西九MJ 发表于 2014-8-7 17:06:36 | 显示全部楼层 |阅读模式
我自己编写了一个驱动叫tq_gpio.c,也已经到配置清单确认了。镜像编译完到开发板上想控制LED灯,发现失败了。我觉得是open函数那出现了问题。

#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: led led_num 0|1\n");
                exit(1);
        }
        fd = open("/dev/tq_gpio", 0);//就是这行的open函数的路径,是不是在dev目录下找不到我的tq_gpio驱动

        if (fd < 0) {                            //如果要在dev下添加我自己写的驱动,要怎么做呢?
                perror("open device leds");
                exit(1);
        }
        ioctl(fd, on, led_no);
        close(fd);
        return 0;
}

自己写了的驱动用不了,好纠结啊
 楼主| 西九MJ 发表于 2014-8-7 17:11:16 | 显示全部楼层
本帖最后由 西九MJ 于 2014-8-7 17:13 编辑

我写完驱动,就到kconfig跟Makefile添加信息,然后到终端#make menuconfig对驱动项打勾。再编写应用程序。是不是我漏了什么步骤没在/dev/中添加tq_gpio呢?=。=
TQ-ZQL 发表于 2014-8-8 09:27:56 | 显示全部楼层
驱动是应该 是2440内核代码里有的。开发手册也应该有对它进行说明。看下设备注册有没有调用,成不成功
jayshzhang 发表于 2014-8-9 12:10:59 | 显示全部楼层
驱动内核代码有,。。
fd = open("/dev/tq_gpio", 0); 应该是linux下的驱动测试程序里面用的吧。。驱动和测试是分开的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-26 05:15 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表