嵌入式驱动开发实验指导书 下载本文

内容发布更新时间 : 2024/5/12 23:57:21星期一 下面是文章的全部内容请认真阅读。

实验二

实验题目:简单的字符设备驱动程序

实验目的:掌握Makefile文件编写方法;熟悉字符设备驱动程序设计、开发和使用流程; 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤:

编写一个简单的字符设备驱动程序,完成下列功能,并写出运行程序后输出的结果。 1)

编写简单的字符设备驱动程序,能够实现对虚拟设备int类型

变量的读写操作;

2) 3)

编写Makefile文件,对驱动程序进行编译;

采用动态模块加载方式对驱动程序进行加载,并查看加载前后

效果; 4)

编写测试程序,对虚拟设备进行读写操作,对驱动程序功能进

行验证。 实验步骤:

1)使用如下命令创建驱动源程序文件进行编写。 vim globalvar.c

2)编写相应的Makefile文件。 vim Makefile

3)对驱动程序进行编译、调试,生成globalvar.o目标文件。 make(make clean)

4)加载驱动程序,并查看是否加载成功。 insmod globalvar.o cat /proc/devices

(卸载模块命令 rmmod globalvar)(注意:无后缀名) 5)编写测试文件globalvartest.c,并进行编译,生成

globalvartest.o可执行文件。 6)创建虚拟设备文件。

mknod /dev/globalvar c 253 0

7)运行globalvartest.o,查看、记录并提交结果。 ./globalvartest.o 提交代码:

1)globalvar.c/globalvar.o 2)Makefile

3)globalvartest.c/globalvartest.o 4)测试结果(.jpg文件)

一.globalvar.c驱动程序 测试程序

makefile文件

测试结果

实验三

实验题目:并发控制及中断程序 实验目的:

(1)掌握linux内核中并发控制的方法,学会运用信号量/队列/自旋锁进行内核驱动程序中的并发控制;

(2)掌握中断处理机制原理,学会使用tasklet进行软中断处理。 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤:

以简单的字符设备驱动程序globalvar为基础,编写程序完成下列功能,并写出运行程序后输出的结果。