课程背景
开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而面对巨大的市场需求,国内很难找到一家专门系统培训Linux驱动工程师的培训机构,因为培训难度大,对老师的经验和知识面要求高,大部分培训机构的课程仅仅对Linux 浅尝即止,难以达到培养 Linux 高水平人才的目的。
嵌入式linux驱动培训是华清远见的金牌课程,本课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平最有效的捷径。
课程目标
驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容,开发出高质量的驱动程序是项目成功的关键。随着产品上市周期的缩短,市场对于驱动程序开发人员的要求也在日益增加。 本课程旨在培养具备开发Linux下驱动程序的人才,采用理论教学与实验相结合的方式,系统地介绍Linux下设备驱动程序开发的基本技术。通过本课程的学习,学员可以掌握Linux下字符设备、块设备、网络设备的驱动程序开发,同时掌握嵌入式Linux的系统开发和分析方法。
培养对象
Linux系统驱动开发工程师、Linux中高级软件工程师以及内核开发人员。
入学要求
学员学习本课程应具备下列基础知识:
◆ 熟练使用Linux操作系统,如学员具有一定的Linux内核阅读经验,效果会更好;
◆ 熟悉C语言,熟悉指针、结构体等概念;
◆ 了解接口电路和数字电路的知识,最好具有电路设计经验。
师资团队
【王 辉】
● 金牌讲师,7年嵌入式开发经验,针对多款硬件平台(PowerPC8xx,Xscale,s3c2410,s3c2440,Mx1,Mx21,Mips,Parisc)进行嵌入式Linux裁减及移植工作,对其它嵌入式操作系统(eCos,WindowsCE)也有深入的研究。同时具有深厚的硬件功底,独自一人完成过上述多款平台从电路图设计,pcb布线,裸板的调试,bootloader编写,操作系统(linux、WindowsCE)移植及驱动开发,上层开发库及应用的移植一整套开发工作。
【宋宝华】
● 金牌讲师,多年嵌入式系统从业经验,熟悉嵌入式系统软硬件设计的全过程,有丰富的嵌入式系统硬件设计经验,精通嵌入式Linux、Vxworks操作系统,尤其擅长Linux设备驱动开发,原创性地完成多种设备的驱动程序的开发。曾指导完成多个大型嵌入式项目的软硬件设计,涉及通信、网络、控制等领域。对嵌入式系统移植有很强的经验,曾在X86/ARM//PowerPC等体系结构平台上移植Linux内核、VxWorks系统。著有《Linux设备驱动开发详解》一书。
【周 明】
● 金牌讲师,具有10年嵌入式技术从业经验和6年嵌入式linux驱动开发经验,对于嵌入式Linux的实现和应用有深入研究,主持开发过多个大型嵌入式项目,涉及网络,通讯,控制,信息终端等各行各业,例如航天在轨数据采集系统、地震数据采集分析系统、车载MP4设备等。对系统移植有很强的经验,在X86/ARM/XSCALE/PowerPC/MIPS等各种体系结构平台上移植Linux内核;对于嵌入式Linux的实时性和Montavista Linux的特点有深入研究。
更多师资力量请参见华清远见师资团队。
教材
◆ 《华清远见-嵌入式Linux驱动开发培训讲义》
◆ 《Linux设备驱动开发详解》(2008.01出版) 华清远见 编著
班级规模及环境
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。人手一套开发板和开发用的PC主机。
时间地点
北京总部(滚动开班):
上课地点:北京清华大学
周末班(周六日上课):2008年11月15日,2008年12月13日,2009年01月17日
连续班(连续上课):2008年11月15日,2008年12月13日,2009年01月17日
上海分中心(滚动开班):
上课地点:上海徐汇区银海大厦A座2层
周末班(周六日上课):2008年10月11日,2008年11月15日,2008年12月27日
连续班(连续上课):2008年10月11日,2008年11月15日,2008年12月27日
深圳分中心(滚动开班):
上课地点:深圳大学
周末班(周六日上课):2008年10月11日,2008年11月15日,2008年12月27日
连续班(连续上课):2008年10月11日,2008年11月15日,2008年12月27日
本课程每期班限额15名,报满即停止报名,请提前在线或电话预约
华清远见保留开课时间调整的权利,欢迎来电洽询
学时费用
◆课时: 共6天,每天6学时,总计36学时
◆培训费用(含教材费和午餐费):3900元,个人自费(3200元),学生自费(2500元,凭有效证件)
◆认证费(可选):300元(项目考核通过,颁发由中国软件行业协会嵌入式分会认证的《Linux设备驱动开发工程师》证书) ◆外地学员:代理安排食宿(需提前预定)
最新优惠
◆团体报名优惠措施:两人95折优惠,三人或三人以上9折优惠
◆套餐课程同时报名优惠措施(以下套餐优惠只能任选一种):
1、同时报选《ARM开发培训班》,即享受500元优惠,同时免费获ARM公司认证证书
2、同时报选《嵌入式Linux系统开发班》,即享受500元优惠!
3、同时报选《嵌入式Linux驱动高级班》,即享受500元优惠!
4、现在同时报选《ARM班》,《Linux应用班》,《Linux系统班》,《Linux驱动初级班》,《Linux驱动高级班》中的任意3门课程,即赠送三星2410开发板
报选此课程可获200元折价劵!
质量保障
1、培训过程中,如有部分内容理解不透或消化不好,可免费在下期培训班中重听;
2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果;
3、培训合格学员可享受免费推荐就业机会。
课程进度安排(最新更新日期:2008.01.10)
时间 课程大纲
第一天
学习目标 通过Linux字符设备驱动程序开发内容的学习,学员可以从用户设备I/O编程角度深入了解设备驱动的原理。通过内核模块编程,掌握Linux内核的开发和设备驱动模型等基础知识。通过了解字符设备驱动框架和具体硬件设备I/O操作,能够进行字符设备驱动开发。
9:00
|
12:00 1. LINUX字符设备驱动程序开发
1.1 LINUX内核结构
1.2 LINUX内核配置与编译
1.3 LINUX内核模块编程与加载
1.4 LINUX-2.6设备驱动模型与SYSFS文件系统
1.5 LINUX设备驱动程序基础与设备I/O
1.6 LINUX字符设备驱动基础
1.7 字符设备驱动程序实现框架与典型驱动分析
1.8 用户空间与内核空间的数据传输
1.9 阻塞与非阻塞I/O设计
13:00
|
16:00 【实验】
1、驱动开发编程环境与内核配置、编译
2、编写模块化字符设备驱动程序与测试
3、如何为内核程序传递参数
4、蜂鸣器驱动程序编写与测试
5、阻塞型字符设备驱动编写与测试
第二天
学习目标 通过字符设备驱动程序开发高级篇的学习,学员能够进行复杂的字符设备驱动程序开发,包括掌握设备硬件中断服务程序编写、操作延迟与中断上下部的编程以及掌握内核空间内存的使用等。
9:00
|
12:00 2. LINUX字符设备驱动程序高级开发
2.1 LINUX内核中断子系统
2.2 中断处理程序编写
2.3 驱动程序上/下半部处理与延缓执行机制
2.4 内核定时器与延迟机制
2.5 内核地址空间与内存使用
2.6 内核与驱动程序调试
13:00
|
16:00 【实验】
1、编写一个简单的驱动程序,使用3种内存分配机制
2、扫描键盘的驱动原理
3、内核定时器的使用
4、编写带中断支持的扫描键盘驱动
5、上下部支持的键盘驱动编写
第三天
学习目标 块设备常用于存储,如闪存等。通过这一天块设备驱动程序开发的学习,学员能够明白Linux中块设备驱动的特点及框架,独立分析Linux中大部分块设备的驱动方法,并熟悉MTD设备驱动的特点与框架,具备MTD Nand Flash驱动程序开发的能力。通过实验,学员还可以掌握IDE、Ramdisk驱动移植方法。
9:00
|
12:00 3. LINUX块设备驱动程序开发
3.1 块设备及其驱动的特点
3.2 块设备驱动程序中两个关键结构体GEN_DISK与REQUEST
3.3 块设备驱动程序的注册与请求处理
3.4 MTD设备的特点以及与块设备的关系
3.5 MTD设备驱动的框架及关键结构体分析
3.6 S3C2410(S3C2440)中的NAND FLASH控制器分析
3.7 S3C2410(S3C2440) NAND FLASH MTD驱动分析
13:00
|
16:00 【实验】
1、编写简单的块设备驱动程序
2、实现RAMDISK驱动
3、IDE硬盘的驱动移植
4、移植S3C2410 闪存控制器驱动
5、配置MTD内核选项
6、移植嵌入式文件系统
第四天
学习目标 网络设备是嵌入式产品开发,特别是基于网络的产品开发中必须掌握的一种设备。通过Linux网络设备驱动程序开发的学习,学员将深入理解Linux网络驱动程序中有关套接字(socket)、套接字缓冲区(sk_buff)等概念,了解网络驱动程序的数据交换过程。通过实际的动手操作,学员将掌握如何移植或编写具体网卡的驱动程序,并在此基础上实现更为高级的网络功能。
9:00
|
12:00 4. LINUX网络设备驱动程序开发
4.1 OSI网络参考模型
4.2 套接字(SOCKET)简介
4.3 套接字缓冲区(SK_BUFF)
4.4 NET_DEVICE结构分析
4.5 数据包传送与接收
4.6 网络驱动的中断处理
4.7 网络设备驱动程序的基本实现
13:00
|
16:00 【实验】
1、了解网络设备驱动中常用的数据结构
2、分析网络驱动程序结构
3、编写简单的虚拟以太网卡驱动程序
4、移植并编写CS8900A网卡驱动程序
5、移植并编写DM9000网卡驱动程序
6、配置网络参数,测试网卡驱动程序行为
第五天
学习目标 通过本课学习,学员可掌握嵌入式Linux显示驱动程序的开发方法,理解嵌入式Linux图形驱动程序实现机制,能够移植或编写嵌入式显示控制器驱动程序,并完成针对各种LCD硬件的定制。
9:00
|
12:00 5. LINUX帧缓冲驱动程序开发
5.1 帧缓冲显示技术
5.2 帧缓冲驱动程序显示原理
5.3 帧缓冲驱动程序的数据结构
5.4 帧缓冲驱动程序的API
5.5 帧缓冲驱动程序的基本实现
5.6 使用高级图形库
13:00
|
16:00 【实验】
1、熟悉FRAMEBUFFER驱动的结构
2、熟悉FRAMEBUFFER中的重要数据结构
3、编写S3C2410彩色LCD控制器驱动程序
4、编写测试程序控制屏幕显示
5、编译高级图形库例子,显示图形
第六天
学习目标 通过本课学习,学员可以了解MMC/SD卡的物理及电气特性,熟悉相关的工作协议,并在此基础上能够移植或编写Linux下的MMC/SD控制器的驱动程序。
9:00
|
12:00 6. LINUX下MMC/SD卡驱动开发
6.1 嵌入式系统中几种常见存储介质的比较(NOR/NAND FLASH、CF、MMC/SD)
6.2 MMC/SD卡物理及电气规范简介
6.3 MMC/SD卡工作中的关键命令及关键结构信息
6.4 S3C2410(S3C2440)中MMC/SDHOST控制器分析
6.5 LINUX中MMC/SD存储卡驱动程序结构分析
6.6 S3C2410(S3C2440)中MMC/SD HOST控制器的驱动实现
13:00
|
16:00 【实验】
1、MMC/SD协议分析与布线原则
2、在LINUX源码中加入针对ARM平台的MMC/SD主控制器驱动的支持
3、以所给的驱动模板为基础,补充初始化及命令和数据传输的关键代码,最终可以使用此代码成功驱动SD存储卡
--------------------------------------------------------------------------------
本课程培训过的客户
摩托罗拉 | 浪潮电子 | 清华同方 | 大唐数码 | 北大方正 | 北京北广电子集团 | 上海贝尔阿尔卡特 | 北京用友软件 | 天津津亚电子 | 日电电子(NEC) | 索尼(中国)| 北阳电子 | 中科院 | 保定天河电子 | 北广电子集团 | 北京61416部队仪表室 | 北京波谱世纪 | 北京传视数码 | 北京交大微联 | 北京凯普林光电 | 北京康拓 | 北京利达安信数码 | 北京敏视达雷达 | 北京铭泰 | 北京日立华胜 | 北京赛尔网络 | 北京时代飞龙 | 北京怡德亨 | 北京中科网威 | 北京中新创 | 91669部队 | 比联公司 | 大连三曦 |东莞冠宏电子 | 二炮 | 公安部第一研究所 | 广州景腾通讯科技 | 杭州恩康数码 | 航天信息 | 河北霸州市供电局 | 华北计算技术研究所 | 华宇通讯 | 济南泰信 | 佳律通信设备 | 金宝电子 | 联合信源 | 南京电子部第十四研究所 | 南京远拓 | 人民银行印研所 | 赛尔网络 | 山东省计算中心 | 陕西省信息网络与软件创新工程中心 | 上海华虹计通智能卡系统有限公司 | 上海儒竞电子 | 上海申通轨道交通研究咨询有限公司 | 上海天能电子 | 上海铁路通信 | 上海怡力工程设备有限公司 | 上海自动化仪表股份有限公司 | 数字太和 | 瞬联软件 | 唐人数码 | 天津8357研究所 | 铁道科学研究院 | 统宝光电显示系统(上海) | 无锡贝尔森影像司 | 新乡大立科技 | 兴唐通信司 | 意科通信 | 浙江华立科技 | 中电广通 | 中国兵器工业研究所 | 中国电子科技集团 | 中国电子南京第十四研究所 | 中国电子系统工程总公司 | 中国航空工业研究所 | 全国各大高校等...
|
|