第一天 |
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. 编译高级图形库例子,显示图形 |
太牛了 ,几天就能学会 。不过目录很清晰 ,希望能够对自己的学习有所参考
阅读(1139) | 评论(2) | 转发(1) |