课程安排 |
课程内容 |
第一天上午
(3学时) |
设备驱动程序简介
1 Linux设备驱动的概念
2 设备和模块分类
3 模块的构建、编译和装载
字符设备驱动程序
1 字符设备驱动程序分析
2 主设备号和次设备号
3 文件操作
4 fs_operation结构分析
5 open和release
6 read和write
7 ioctl
8 阻塞型I/O
9 poll和select
|
第一天下午
(3学时) |
字符设备驱动程序(续)
10 异步通知
11 驱动程序中断的基本理论及实现的方法
12 tasklet和底半部
13 内核空间与用户空间数据的互访
14 某项目实例中的键盘及触摸屏驱动分析(中断实现)
15 驱动程序调试技术 |
第二天上午
(3学时) |
块设备与网络设备
1 块设备驱动程序的特点和工作原理
2 典型的块设备驱动程序分析
3 网络设备驱动程序简介及网络参考模型
4 套接字(socket)简介
5 套接字缓冲区(sk_buff)
6 net_device结构分析
7 数据包传输与接收
8 中断处理函数
9 MAC地址解析
10 网卡驱动信息统计
11 实例分析:linux下NE2000兼容网卡驱动 |
第二天下午
(3学时) |
常用嵌入式设备驱动分析及嵌入式设备驱动开发精要
1 Linux下Framebuffer架构分析
2 Linux下Framebuffer驱动程序实现
3 Framebuffer驱动程序实例分析
4 驱动程序开发常用技巧
5 uClinux设备驱动程序开发注意事项
6 uClinux设备驱动程序添加方法
7 综合实例演示:uClinux下添加键盘驱动(基于44B0X处理器)
8 ARMlinux设备驱动程序开发注意事项
9 ARMlinux设备驱动程序添加方法
10 综合实例演示:ARMlinux下添加触摸屏驱动(基于2410处理器) |
第三天上午
实验课(3学时) |
蜂鸣器驱动程序编写
1 理解字符设备驱动程序的框架
2 填写蜂鸣器的驱动代码
3 通过对蜂鸣器驱动程序的编写,熟悉了解掌握驱动程序的基本编写步骤
4 理解蜂鸣器示范驱动代码的原理;掌握设备驱动程序的基本编写步骤 |
第三天下午
实验课(3学时) |
LED指示灯驱动程序编写
1 理解字符设备驱动程序的框架
2 了解LED指示灯的驱动代码
3 填写LED指示灯的应用程序代码
4 通过对LED指示灯的驱动程序的编写,加深了解掌握驱动程序的基本编写
步骤
5 理解示范驱动代码的原理,学写一个LED指示灯的驱动程序 |
第四天上午
实验课(3学时) |
数码管驱动程序编写
1 理解字符设备驱动程序的框架
2 了解数码管驱动程序
3 掌握驱动程序的编写流程
4 通过对数码管的驱动程序的编写,进一步掌握驱动程序的基本编写过程和
步骤
5 理解示范驱动代码的框架和原理,尝试编写一个数码管驱动程序的驱动程
序 |
第四天下午
实验课(3学时) |
液晶屏驱动程序编写
1 理解字符设备驱动程序的框架
2 了解LCD驱动程序
3 掌握驱动程序的编写流程
4 通过对液晶屏驱动程序的编写,深入理解掌握驱动程序的基本编写过程和
步骤
5 理解示范LCD驱动代码的框架和原理,深入理解掌握驱动程序的编写过程 |
第五天上午
实验课(3学时) |
USB鼠标的驱动
1 USB驱动原理介绍
2 USB鼠标驱动的代码的分析
3 USB鼠标驱动程序的验证
4 通过对USB鼠标的驱动程序编写,加深了解掌握usb驱动程序的基本编写步
骤
5 理解示范驱动代码的原理 |
第五天下午
实验课(3学时) |
8139网卡的驱动
1 网卡驱动流程介绍
2 8139网卡驱动的代码的分析
3 8139网卡驱动程序的验证
4 通过对8139网卡的驱动程序编写,加深了解掌握网卡驱动程序的基本编写
步骤
5 理解示范驱动代码的原理 |