实验五、字符设备驱动调试
【实验目的】
熟悉vim和ctags的用法;
掌握简单字符设备驱动结构;
掌握在/dev下自动创建设备文件的方法并实现。
【实验内容】
1.在memdev.c中加入你认为重要的相关输出信息,比如查看sizeof(struct mem_dev)的大小值,在memdev_init函数中增加相关打印信息,使得程序正常加载后能看到提示信息输出等等;
printk(KERN_INFO "Hello, world!/n");
system(“ls -al /etc/passwd /etc/shadow”);
2. 完成“字符设备驱动实验代码.rar”中设备驱动部分和应用测试部分各自的编译,并发送到开发板上;
3.在开发板上加载设备驱动的.ko文件,注意加载后输出的提示信息,成功加载后再运行应用测试程序的可执行文件,查看输出的提示信息和测试结果;(加载memdev.ko需要注意mknssod命令生成设备文件,需要注意memdev.ko的主设备号是否正常。)
4. 自学熟悉memdev.c中这行代码:
module_param(mem_major, int, S_IRUGO);
的作用,掌握加载的时候给static变量重新赋值的方法;
Insmod memdev.ko mem_major=250
5. 在memdev.c中将static mem_major = MEMDEV_MAJOR;
这行修改成:static mem_major = 0;后重新编译,加载,然后用cat /proc/devices 查看设备名为memdev的字符设备的主设备号是多少;
250
6.在memdev.c中增加自动创建设备文件的相关代码,并编译成.ko文件,发送到开发板并加载,查看是否在/dev目录下有自动创建两个设备文件。
system(“mknod /dev/memdev0 c 250 0”);
system(“mknod /dev/memdev0 c 250 1”);
【实验准备】