上海锐极嵌入式培训中心
12月22日开展嵌入式linux短期培训
课时:30课时
学时:5天(双休日上课)
咨询电话:021—52666785 张老师
Email:train@rjpeixun.com
www.rjpeixun.com
课程内容:驱动试验班课程内容
课程背景
开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而面对巨大的市场需求,国内很难找到一家专门系统培训Linux驱动工程师的培训机构,因为培训难度大,对老师的经验和知识面要求高,大部分培训机构的课程仅仅对Linux 浅尝即止,难以达到培养 Linux 高水平人才的目的。
嵌入式linux系统实验班是锐极嵌入式培训中心的金牌课程,本课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平最有效的捷径。
课程目标
熟练掌握Linux系统下设备驱动程序的开发技术,能够独立在Linux操作系统上开发各种驱动程序,如网卡、声卡、各类协议的驱动开发等。同时对Linux内核能够有较为深入的了解,掌握分析整个内核代码的方法。
培养对象
Linux系统驱动开发工程师、Linux中高级程序设计师以及内核开发人员。希望深入了解嵌入式Linux系统开发的学员。
入学要求
学员学习本课程应具备下列基础知识:
◆ 熟练使用Linux操作系统;
◆ 了解Linux内核结构;
◆ 熟悉C语言编程;
◆ 具备一定的硬件知识,如各种接口电路。
教材
《《锐极培训中心--嵌入式Linux驱动开发培训讲义》
《ARM&Linux嵌入式系统开发详解》
实验器材
RJARM9-EDU
学时费用
课时: 共5天,每天6学时,总计30学时
◆培训费用(含教材费和午餐费): 3500元,学生自费,凭有效证件可享优惠,团体报名优惠措施:两人9.5折优惠,三人或三人以上9折优惠
◆认证费(可选):300元(项目考核通过,颁发由上海开源软件行业协会嵌入式分会认证的《Linux设备驱动开发工程师》证书)
◆外地学员:代理安排食宿(需提前预定)
同时报选《嵌入式Linux系统开发班》,即享受500元优惠!
质量保障
所有课程内容均可免费重听,直到学员完全掌握为止。
凡是锐极学员,在以后工作中遇到课程相关问题,可得到免费技术支持。
雄厚的师资力量、经典的课程体系、丰富的教学经验确保教学质量。
成绩优秀的学员可免费到锐极合作单位实习、就业。
课程进度安排
第一天9:00—12:00
1. Linux字符设备驱动程序
目标:掌握Linux驱动程序开发基本方法,用户程序和内核驱动程序的交互机制。经过学习后能够编写实用的字符设备驱动程序(采集数据/控制执行机)
设备驱动程序简介
1 Linux设备驱动的概念
2 设备和模块分类
3 模块的构建、编译和装载
字符设备驱动程序
1 字符设备驱动程序分析
2 主设备号和次设备号
3 文件操作
4 fs_operation结构分析
5 open和release
6 read和write
7 ioctl
8 阻塞型I/O
9 poll和select
13:30----16:30实验
1. 熟悉驱动开发的GNU编程环境和命令
2. 编写一个Hello World模块并加载测试
3. 认识S3C2410的GPIO操作原理
4. 将驱动程序直接编译到内核
5. 编写字符驱动程序,控制执行机(LED)
6. 编写较复杂的字符驱动程序,阻塞用户进程进行同步
第二天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. 块设备中的访问优化原理——请求队列与缓冲区
3.4. 典型的块设备驱动程序分析
3.5. IDE设备块驱动程序框架
3.6. 2.6内核的SATA驱动分析
3.7. 2.4内核与2.6内核存储驱动的变革
3.8. MTD Flash块设备驱动程序
3.9. Linux中存储卡驱动分析
3.10. 嵌入式文件系统
13:30---16:30实验
1. 编写简单的块设备驱动程序,实现磁盘分区、文件系统挂载
2. 移植编写S3C2410 Flash控制器驱动程序
3. 移植嵌入式文件系统,并格式化、部署根文件系统映像
4. 分析嵌入式文件系统垃圾块回收
5. 测试、分析非正常断电对文件系统影响
第四天9:00---12:00
4. 网络驱动程序 USB设备驱动程序开发和PCI
目标:深入理解Linux网卡驱动程序开发方法,软件socket和网卡驱动程序的数据交换过程。经过学习后能够编写实用的网卡驱动程序,并实现高级的网络监控功能。 并深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后能够编写/移植USB主机OHCI以及设备驱动程序,实现对硬件平台功能的灵活扩展。
4.1. OSI网络参考模型
4.2. 套接字(socket)简介
4.3. 套接字缓冲区(sk_buff)
4.4. net_device结构分析
4.5. 数据包传送与接收
4.6. 网络驱动的中断处理
4.7. 以太网MAC地址解析
Linux内核对USB规范的支持
4.8. USB主机驱动程序
4.9. USB设备驱动程序
4.10. USB HUB驱动程序
4.11. OHCI HCD
4.12. PCI总线概述
4.13. PCI配置空间
4.14. PCI主设备busmaster
4.15. PCI设备驱动结构
13:30---16:30实验
1. 编写简单的虚拟以太网卡驱动程序
2. 移植编写嵌入式CS8900A网卡驱动程序
3. 配置网络参数,测试网卡驱动程序行为
4. 编写测试程序,监视并控制网卡链路层、物理层对外部事件响应 在内核中调整USB子系统,改变USB功能集
5. 编写并移植PL2303驱动程序,实现USB与主机串口通信
6. 添加U盘驱动程序,观察目标板上U盘加载过程
7. 移植USB摄像头驱动,并加载测试
8. 使用USB工具深入理解USB设备概念和USB驱动程序结构
9. 调试PCI总线初始化
10. 观察并调试PCI设备配置过程
11. 加载简单的PCI设备驱动
第五天9:00---12:00
5. 帧缓冲驱动程序和DMA
目标:掌握Linux嵌入式显示驱动程序开发方法,理解嵌入式Linux图形驱动程序实现机制。经过学习能过编写/移植嵌入式显示控制器驱动程序,并针对各种LCD硬件作定制工作
5.1. 嵌入式显示设备简介
5.2. 帧缓冲(framebuffer)设备特点
5.3. 帧缓冲驱动程序显示原理
5.4. 帧缓冲驱动程序与DMA配合
5.5. 硬件图形加速简介
5.6. 使用高级图形库
13:30---16:30实验
1. 编写S3C2410彩色LCD控制器驱动程序
2. 编写测试程序控制屏幕显示
3. 编译高级图形库例子,显示图形
上海锐极培训中心
联系人:李老师 张老师
Tel: +86 (21) 52666785 Email-train@ruijitek.com
+86 (21) 52667625 www.ruijitek.com
Fax: +86 (21) 52666785 www.rjpeixun.com