sunwingman 发表于 2015-8-11 18:27:05

有關ioctl

本帖最后由 sunwingman 于 2015-8-12 08:52 编辑

有关LED以及PWM的控制
发现在rk3288上面的源码
都没有实作ioctl
这样user space和kernel space如何沟通?
所以假如我需要写一个app去操控
是不是需要自己去实作一个ioctl
还是有其他方法?

因为刚接触嵌入式这块, 还有很多不熟
所以请教各位前辈, 感谢!!

sunwingman 发表于 2015-8-12 10:37:19

本帖最后由 sunwingman 于 2015-8-12 10:40 编辑

感谢carlinluo回覆

之前碰过友善之臂的板子
在kernel的LED driver有实作一个ioctl的function, 代码如下

static long leds_ioctl(struct file *filp, unsigned int cmd,
                unsigned long arg)
{
      switch(cmd) {
                case 0:
                case 1:
                        if (arg > LED_NUM) {
                              return -EINVAL;
                        }

                        gpio_set_value(led_gpios, !cmd);
                        //printk(DEVICE_NAME": %d %d\n", arg, cmd);
                        break;

                default:
                        return -EINVAL;
      }

      return 0;
}

但是在rk3288的LED driver里面没看到ioctl
所以才想请问各位前辈是不是要自己加入ioctl这个function?

可以请问carlinluo也是自己实作一个ioctl吗?JNI那边我知道怎么调用, 不过也是要透过ioctl才能跟kernel space去做沟通, 是吧?


carlinluo 发表于 2015-8-12 09:47:39

1.通过读写文件节点和驱动沟通
2.通过JNI调用驱动

最新在写这方面的代码当练手APP

carlinluo 发表于 2015-8-12 11:30:55

sunwingman 发表于 2015-8-12 10:37
感谢carlinluo回覆

之前碰过友善之臂的板子


可以参考camera的驱动,里面有用到ioctr

carlinluo 发表于 2015-8-12 11:36:55

其实驱动都是差不多的,移植下就可以用
页: [1]
查看完整版本: 有關ioctl