我在应用程序里调用read。
fread(Buf, sizeof(Buf), 1, fp0);
无论传入的参数sizeof(Buf)为多大。到了驱动里定义的读函数
static ssize_t read(struct file *filp, char __user *buf, const size_t size, loff_t *ppos)
内核打印出来的参数size一直是4096或4096的整数倍。。。
这是什么原因?每次读数据只能是4096B的整数倍吗??
write没有这样的问题。
PS.我用国嵌教程简单字符设备驱动的实验代码运行也有同样的问题。。。