文件名称:写入函数-复高斯分布的数学基础理论
文件大小:6.48MB
文件格式:PDF
更新时间:2024-06-28 07:07:29
嵌入式 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,如下所示: