【文件属性】:
文件名称:写入函数-复高斯分布的数学基础理论
文件大小:6.48MB
文件格式:PDF
更新时间:2021-06-08 13:20:49
嵌入式 Linux C
(6)读取函数
skull 的读取主要调用 copy_to_user 来实现对内存的读取,其代码如下所示:
/*读函数*/
static ssize_t test_read(struct file *file, char *buf, size_t count, loff_t *f_pos)
{
int len;
if(count<0)
return -EINVAL;
len = strlen(data);
if(len < count)
count = len;
copy_to_user(buf,data,count+1);
return count;
}
(7)写入函数
skull 的写入与读取是相对应的,主要使用的是 copy_from_user 函数,如下所示:
/*写函数*/
static ssize_t test_write(struct file *file,const char *buffer, size_t count,
loff_t *f_pos)
{
if(count < 0)
return -EINVAL;
kfree(data);
data=(char*)kmalloc(sizeof(char)*(count +1),GFP_KERNEL);
if(!data)
return -ENOMEM;
copy_from_user(data,buffer,count+1);
return count;
}
2.编译代码
要注意在此处要加上-DMODULE -D__KERNEL__选项,如下所示:
arm-linux-gcc -DMODULE -D__KERNEL__ -c kernel.c
3.加载模块
insmod ./kernel.o
4.查看设备号
vi /proc/device
5.映射为设备文件
接下来就要将相应的设备映射为设备文件,这里可以使用命令 mknod,如下所示: