我已经完成了专门用于“字符设备驱动程序”的部分,虽然我已经将其编译,但它将无法在所描述的情况下运行:
“当进程写入dev文件时调用:echo”hi“> / dev / chardev”
我尝试了几个Linux控制台命令,例如:
HO“他”> sudo / god / chardev /
和
sudo sh -c'printf“hi”> sudo / dev / chardev /'。
我在Raspberry Pi 3 B +上运行我的代码
当我运行第一个命令时,我将得不到任何回报,并且没有任何内容添加到/ var / logs / messages中
当我运行第二个命令时,我得到:sh:printf:I / O错误
我已使用下面的代码段修改了代码。
/*
* Called when a process writes to dev file: echo "hi" > /dev/chardev
*/
static ssize_t
device_write(struct file *filp, const char *buff, size_t len, loff_t * off)
{
printk(KERN_INFO "%s\n", buff);
return -EINVAL;
}
我期待发生的是当我使用echo“hi”> sudo / dev / chardev时,在我的/ var / logs / messages中会出现一行只是说“hi”。