《嵌入式Linux驱动开发》实验教学大纲
课程名称:
| 嵌入式Linux驱动开发
|
|
|
课程编号:
| 408310
| 436315
|
|
适用专业:
| 计算机科学与技术
| 软件工程
|
|
总 学 分:
| 3
|
|
|
总 学 时:
| 54
|
|
|
其中实验学时
| 26
|
|
|
一、实验性质、目的与任务
《Linux驱动程序开发》是嵌入式系统开发中讲解Linux设备驱动程序开发方法和技术的课程, Linux驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容。本课程内容包括Linux驱动程序基础、内核移植、总线驱动程序、LCD驱动程序、网络驱动程序、输入子系统驱动程序、块设备驱动程序等。
通过本实验课程,掌握嵌入式Linux字符设备驱动开发和分析的方法,具体应达到以下几个教学目的:
(1)嵌入式Linux字符设备驱动开发;
(2)嵌入式Linux下块设备驱动开发;
(3)掌握嵌入式Linux下网络设备驱动开发;
(4)掌握嵌入式Linux下PCI、LCD显示屏设备驱动开发;
(5)掌握嵌入式Linux下触摸屏设备驱动开发;
(6)掌握嵌入式Linux下和USB设备驱动开发。
二、教学基本要求:
实验内容由浅入深,系统性的层次性的设置实验教学内容。先安排基本技能训练实验,锻炼学生的基本技能,其次安排综合性的内容和项目,给学生发挥的空间,锻炼学生独立思考,独立解决问题的能力。掌握Linux下设备驱动程序的开发,同时掌握嵌入式Linux的系统开发和分析方法。
上机实验要求:
(1)上机前,准备好上机所需的程序;
(2)上机时,输入和调试自己所编写的程序;
(3)上机结束后,应整理出实验报告,实验报告应包括以下内容:实验项目名称;程序清单;运行结果,对运行情况所作的分析以及本次调试程序所取得的经验,如果程序未达到设计目标,应分析其原因。
三、实验项目与类型:
序号
| 实验项目
| 学时
| 实验性质
| 备注
|
验证
| 综合
| 设计
| 研究
探索
| 必做
| 选做
|
1
| 简单字符设备驱动程序
| 1
| √
|
|
|
| √
|
|
2
| 带并发控制的字符设备驱动程序
| 1
| √
|
|
|
| √
|
|
3
| 带Ioctl命令的字符设备驱动
| 1
| √
|
|
|
| √
|
|
4
| 设计阻塞型字符设备驱动
| 1
| √
|
|
|
| √
|
|
5
| 设计字符设备驱动的Poll函数
| 1
| √
|
|
|
| √
|
|
6
| 自动创建设备文件
| 1
| √
|
|
|
| √
|
|
7
| LED驱动程序设计
| 2
|
| √
|
|
| √
|
|
8
| 总线设备驱动模型
| 2
|
| √
|
|
| √
|
|
9
| 按键驱动程序设计
| 2
|
| √
|
|
| √
|
|
10
| 网卡驱动程序设计
| 2
|
| √
|
|
| √
|
|
11
| 触摸屏驱动程序
| 3
|
| √
|
|
| √
|
|
12
| PCI驱动程序设计
| 2
|
| √
|
|
| √
|
|
13
| 串口驱动程序设计
| 3
|
| √
|
|
| √
|
|
14
| LCD驱动程序设计
| 2
|
| √
|
|
| √
|
|
15
| USB鼠标驱动程序设计
| 2
|
| √
|
|
| √
|
|
四、实验教学内容及学时分配:
实验1 简单字符设备驱动程序
1、实验目的
掌握简单字符设备驱动设计规范模式,设备节点创建方法,应用程序的编写方法。
2、主要实验仪器及材料
1) pc一台;
2) mini2410开发板一套;
3)安装RHEL5的vmware虚拟机
3、实验内容
在mini2440平台编写实现读、写和定位的字符设备驱动程序,并编写一应用程序测试驱动。
实验2 带并发控制的字符设备驱动程序
1、实验目的
掌握并发控制工作原理,实现信号量的竞争机制。
2、主要实验仪器及材料
1) pc一台;
2) mini2410开发板一套;
3)安装RHEL5的vmware虚拟机
3、实验内容
在mini2440平台编写实现读、写和定位的字符设备驱动程序,并编写一应用程序测试驱动。
实验3 带Ioctl命令的字符设备驱动
1、实验目的
掌握ioctl设备市县2时机,ioctl设备方法实现方式。
2、主要实验仪器及材料
1) pc一台;
2) mini2410开发板一套;
3)安装RHEL5的vmware虚拟机
3、实验内容
基于实验2,加入ioctl设备方法的支持,并设计应用程序测试ioctl功能。
实验4 设计阻塞型字符设备驱动
1、实验目的
掌握阻塞字符设备驱动工作原理、实现方式。
2、主要实验仪器及材料
1) pc一台;
2) mini2410开发板一套;
3)安装RHEL5的vmware虚拟机
3、实验内容
基于实验2, 将读、写实现成阻塞方式,并设计应用程序,测试阻塞型字符设备驱动的读写。
实验5 设计字符设备驱动的Poll函数
1、实验目的
掌握阻poll设备方法调用时机、实现方式。
2、主要实验仪器及材料
1) pc一台;
2) mini2410开发板一套;
3)安装RHEL5的vmware虚拟机
3、实验内容
基于实验2,添加poll设备方法,并设计应用程序,测试阻塞型字符设备驱动的读写。
实验6 自动创建设备文件
1、实验目的
掌握自动创建设备文件实现方式。
2、主要实验仪器及材料
1) pc一台;
2) mini2410开发板一套;
3)安装RHEL5的vmware虚拟机
3、实验内容
基于实验2,实现设备文件的自动创建,并设计应用程序测试驱动程序。
实验7 LED驱动程序设计
1、实验目的
掌握LED驱动程序设计方法。
2、主要实验仪器及材料
1) pc一台;
2) mini2410开发板一套;
3)安装RHEL5的vmware虚拟机
3、实验内容
./app-led 1 回车灯全亮;./app-led 0 回车 灯全熄了。
五、考核办法
1.教师对学生实验过程完成情况进行详细登记,记入实验成绩中。
2.学生完成实验后按要求撰写实验报告,根据实验报告确定每次实验的等级。
3.实验成绩按20%比例计入课程期评总成绩中。
六、实验指导书及主要参考书目
1、实验指导书
[1]自编《嵌入式Linux驱动开发》
2、主要参考书:
[1]刘洪涛,孙天泽.《嵌入式系统技术与设计》.北京:人民邮电出版社,2008
[2] Daniel P.Bovet;Marco Cesati著.陈莉君,张琼声,张宏伟译,《深入linux内核(第三版)》.中国电力出版社,2007
[3] [美]Christopher Halinan.《嵌入式Linux开发(英文版)》.人民邮电出版社,2008
[4]宋宝华.《Linux设备驱动开发详解(第二版)》.人民邮电出版社,2010.
主 撰 人: 刘泽平 审 核 人: 袁辉勇
2012.6