Chinaunix首页 | 论坛 | 博客
  • 博客访问: 536624
  • 博文数量: 120
  • 博客积分: 3030
  • 博客等级: 中校
  • 技术积分: 1445
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-05 01:00
文章存档

2011年(1)

2009年(2)

2008年(32)

2007年(33)

2006年(52)

我的朋友

分类: LINUX

2006-03-20 11:40:48

第一天

9:00
|
12:00

1. Linux字符设备驱动程序
目标:掌握Linux驱动程序开发基本方法,用户程序和内核驱动程序的交互机制。经过学习后能够编写实用的字符设备驱动程序(采集数据/控制执行机)
      1.1. Linux设备驱动程序基础知识
      1.2. 字符设备驱动程序分析
      1.3. 用户程序与驱动程序同步——阻塞I/O
      1.4. 用ioctl控制驱动程序
      1.5. 典型的字符设备驱动程序分析

13:30
|
16:30

实验
      1. 熟悉驱动开发的GNU编程环境和命令
      2. 编写一个Hello World模块并加载测试
      3. 将驱动程序直接编译到内核
      4. 编写字符驱动程序,控制执行机(LED)
      5. 编写较复杂的字符驱动程序,阻塞用户进程进行同步

第二天

9:00
|
12:00
2. 内核内存管理与中断处理
目标:掌握Linux内核存储器管理、定时、中断处理等基础设施的使用。经过学习后能够以高效的方式实现驱动程序,获得较高的驱动程序性能。包括实时性、I/O吞吐率、低处理器占用
      2.1. Linux内存管理机制
      2.2. 内存分配与存储器映射
      2.3. 高速缓存管理
      2.4. mmap设备操作
      2.5. 在内核中描述时间
      2.6. 使用任务队列
      2.7. 内核定时器
      2.8. 硬件中断处理流程
      2.9. Linux内核中断子系统
      2.10. 安装中断处理程序
      2.11. 上半部/下半部处理
      2.12. 中断共享
13:30
|
16:30

实验
      1. 编写例子驱动使用3种内存分配机制
      2. 编写驱动程序使用2种延时机制,理解当中的区别
      3. 编写驱动程序使用内核定时器和任务
      4. 编写使用中断的键盘驱动程序

第三天

9:00
|
12:00

3. 块设备驱动程序,MTD以及文件系统
目标:掌握Linux块设备驱动程序和Flash存储器高级使用技术。经过学习后能够自如选择嵌入式存储方案,并编写/移植相关驱动程序,满足苛刻的嵌入式数据存储需求
      3.1. 块设备特点及驱动程序工作原理
      3.2. 典型的块设备驱动程序分析
      3.3. MTD Flash块设备驱动程序
      3.4. Linux中存储卡驱动分析
      3.5. 嵌入式设备存储面临的挑战和解决方法
      3.6. 嵌入式文件系统

13:30
|
16:30

实验
      1. 编写简单的块设备驱动程序,实现磁盘分区、文件系统挂载
      2. 移植编写S3C2410 Flash控制器驱动程序
      3. 移植嵌入式文件系统,并格式化、部署根文件系统映像
      4. 分析嵌入式文件系统垃圾块回收
      5. 测试、分析非正常断电对文件系统影响

第四天

9:00
|
12:00

4. 网络驱动程序
目标:深入理解Linux网卡驱动程序开发方法,软件socket和网卡驱动程序的数据交换过程。经过学习后能够编写实用的网卡驱动程序,并实现高级的网络监控功能
      4.1. OSI网络参考模型
      4.2. 套接字(socket)简介
      4.3. 套接字缓冲区(sk_buff)
      4.4. net_device结构分析
      4.5. 数据包传送与接收
      4.6. 网络驱动的中断处理
      4.7. 以太网MAC地址解析

13:30
|
16:30

实验
      1. 编写简单的虚拟以太网卡驱动程序
      2. 移植编写嵌入式CS8900A网卡驱动程序
      3. 配置网络参数,测试网卡驱动程序行为
      4. 编写测试程序,监视并控制网卡链路层、物理层对外部事件响应

第五天

9:00
|
12:00

5. USB设备驱动程序开发
目标:深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后能够编写/移植USB主机OHCI以及设备驱动程序,实现对硬件平台功能的灵活扩展
      5.1. Linux内核对USB规范的支持
      5.2. USB主机驱动程序
      5.3. USB设备驱动程序
      5.4. USB HUB驱动程序
      5.5. OHCI HCD

13:30
|
16:30
实验
      1. 在内核中调整USB子系统,改变USB功能集
      2. 编写并移植PL2303驱动程序,实现USB与主机串口通信
      3. 添加U盘驱动程序,观察目标板上U盘加载过程
      4. 移植USB摄像头驱动,并加载测试
      5. 使用USB工具深入理解USB设备概念和USB驱动程序结构
第六天
9:00
|
12:00
6. 帧缓冲驱动程序和DMA
目标:掌握Linux嵌入式显示驱动程序开发方法,理解嵌入式Linux图形驱动程序实现机制。经过学习能过编写/移植嵌入式显示控制器驱动程序,并针对各种LCD硬件作定制工作
      6.1. 嵌入式显示设备简介
      6.2. 帧缓冲(framebuffer)设备特点
      6.3. 帧缓冲驱动程序显示原理
      6.4. 帧缓冲驱动程序与DMA配合
      6.5. 硬件图形加速简介
      6.6. 使用高级图形库
13:30
|
16:30

实验
      1. 编写S3C2410彩色LCD控制器驱动程序
      2. 编写测试程序控制屏幕显示
      3. 编译高级图形库例子,显示图形

 
太牛了 ,几天就能学会 。不过目录很清晰 ,希望能够对自己的学习有所参考
阅读(1133) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~