江苏大学计算机学院课程设计报告
ret = register_chrdev(0, devName, &pStruct); if (ret < 0) { printk(\ return -1; } else { printk(\ device_num = ret; printk(\ce_num); printk(\ printk(\ printk(\\ printk(\device_num); printk(\ return 0; } } /* 注销模块,函数名很特殊 */ void cleanup_module() { unregister_chrdev(device_num, devName); printk(\static int my_open(struct inode *inode, struct file *file) { if (mutex) return -EBUSY; mutex = 1;//上锁 江苏大学计算机学院课程设计报告
printk(\ printk(\ printk(\ try_module_get(THIS_MODULE); return 0; } 2.3算法流程图 设备驱动模块加载 文件打开函数 开 始 读函数 写函数 Seek文件定位函数 设备驱动模块卸载 文件释放函数 五、 课程设计结果及分析 1.系统调试 启用root模式,输入密码。命令:su 结 束 江苏大学计算机学院课程设计报告
对驱动程序进行编译。 命令:make 加载驱动程序并查看。 命令:insmod devDrv.ko lsmod 显示主设备号。 命令:cat /proc/devices 江苏大学计算机学院课程设计报告
分配从设备号并查看。 命令:mknod /dev/myDevice c 248 0 ls /dev 编译测试程序并执行。 命令gcc test.c –o fifo ./fifo