实验题目:嵌入式linux驱动程序设计

实验题目:嵌入式linux驱动程序设计

 

 

实验目的:

1.编写一个字符设备驱动

2.掌握添加设备驱动程序的方法

3.编写一个应用程序测试添加的驱动

 

实验步骤:

1.linux环境下编写字符驱动程序和测试驱动的应用程序

2.编译驱动程序和应用程序

3.使用动态内核模块加载的方法动态的加载驱动

4.运行测试驱动的应用程序,查看驱动的加载情况

 

实验过程:

1.驱动中的相关函数说明(详细见代码)

static ssize_t read_test( struct file * file, char *buf, size_t count, loff_t * f_pos )  // 读部分 static ssize_t write_test( struct file * file, const char *buf, size_t count, loff_t *f_pos ) //写部分 static int open_test( struct inode * node, struct file * file ) //打开设备 static int release_test( struct inode * inode, struct file * file )  //关闭设备 int init_module(void)   //模块初始化 void cleanup_module(void)   //模块删除

2.测试驱动的应用程序

从驱动程序中循环5次,读取五个字节的内容,并将其打印出来。

3.编译驱动程序

#gcc –O2 –Wall –DMODULE –D__KERNEL__ -DLINUX –I /usr/src/linux-2.4.20-8/include

4.加载驱动程序

#insmod test.o

5.运行查看设备号

#cat /proc/devices

6.创建设备文件

#mknod /dev/mydev c major 0(minor)

7.运行结果如下:

 

编译,加载和查看设备号的情况如图所示

 

 

 

 

创建设备文件和运行应用程序后,打印出来从驱动中读取的内容

实验体会:

       通过本次实验,是我对linux下的字符设备驱动有了更好的认识,为今后的深入学习打下了坚实的基础。


 

 

你可能感兴趣的:(嵌入式软件设计,linux,嵌入式,struct,file,测试,module)