【问题标题】:system calls on goldfish emulator which is running with a self-compiled kernel使用自编译内核运行的金鱼模拟器上的系统调用
【发布时间】:2018-10-20 08:14:07
【问题描述】:

我为嵌入式 Linux 内核金鱼 3.4 编写了一个驱动程序。现在我想从我在\dev 目录中编写的设备驱动程序测试我的ioctl 系统调用。在网上很多教程都建议编写一个简单的用户空间程序 c 来测试。但是,我不知道如何在像金鱼这样的嵌入式环境中做到这一点。它是安卓手机的模拟器。

static int goldfish_accel_ioctl(struct file* fp, unsigned int cmd, unsigned long arg){ switch(cmd){ case TEST: printk(KERN_ALERT"Hello world ioctl!"); } } 我在dev\ 目录中注册了一个特殊文件,名为accelrometer

希望我的描述有意义。

【问题讨论】:

    标签: android-emulator linux-device-driver embedded-linux ioctl


    【解决方案1】:

    我终于找到了解决方案,在这里分享一下,以防有人和我有同样的问题。

    显然,我运行的 Linux 内核(至少是带有 adb shell 的金鱼模拟器)有一个内置的ioctl 命令。

    用法:

    ioctl \dev yourDevice cmd

    注意 cmd 是一个整数,您可以从驱动程序内部的_IO(MAGIC_NUMBER, n) 检索它。如果您无法编写用户空间库来测试您的ioctl,则可以使用模块参数将它们放入用户空间。

    【讨论】:

      猜你喜欢
      • 2019-04-30
      • 2016-06-28
      • 2017-02-10
      • 2014-09-28
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      相关资源
      最近更新 更多