我已经为嵌入式Linux内核金鱼3.4编写了一个驱动程序。现在我想从我在ioctl
导演中编写的设备驱动程序测试我的\dev
系统调用。在很多在线教程中,所有建议编写一个简单的用户空间程序来测试。但是,我不知道如何在像金鱼这样的嵌入式环境中这样做。它是Android手机的模拟器。
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
目录中注册了一个特殊文件
希望我的描述有意义。
答案 0 :(得分:0)
我最终找到了解决方案并在此处分享,以防有人遇到与我相同的问题。
显然,我运行的Linux内核(至少是带有adb shell的金鱼模拟器)有一个内置的ioctl
命令。
用法:
ioctl \dev yourDevice cmd
Noted cmd是一个整数,您可以从驱动程序内的_IO(MAGIC_NUMBER, n)
检索它。如果您无法编写用户空间库来测试ioctl
,则可以使用模块参数在用户空间中获取它们。