|
课程背景
|
|
开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而因为培训难度大,对老师的经验和知识面要求高,现有的课程仅仅对Linux 浅尝即止,难以达到培养 Linux 高水平人才的目的。
嵌入式Linux驱动培训是武汉集成电路设计工程技术研究中心多年研发和设计服务积累下的,本课程融合了工程中心众多老师多年的心血,能帮助学员在短期内迅速提升驱动开发水平。
|
|
课程目标
|
|
驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容,开发出高质量的驱动程序是项目成功的关键。随着产品上市周期的缩短,市场对于驱动程序开发 人员的要求也在日益增加。 本课程旨在培养具备开发Linux下驱动程序的人才,采用PoE的教学方式,系统地介绍Linux下设备驱动程序开发过程。通过本课程的学习,学员可以掌握Linux下字符设备、块设备、网络设备、framebuffer设备、sd卡等驱动程序,同时掌握嵌入式Linux的系统开发和分析方法。
|
|
培养对象
|
|
Linux系统驱动开发工程师、Linux中高级软件工程师以及内核开发人员。
|
|
入学要求
|
|
学员学习本课程应具备下列基础知识:
◆ 熟练使用Linux操作系统,如学员具有一定的Linux内核阅读经验,效果会更好;
◆ 熟悉C语言,熟悉指针、结构体等概念;
◆ 了解接口电路和数字电路的知识,最好具有电路设计经验。
|
|
师资团队
|
|
【赖老师】
● 清华大学精密仪器系硕士,资深嵌入式系统工程师。原北京某科技有限公司创始人兼CTO,现任某国内知名企业嵌入式事业部总经理。中国第一款无驱动U盘发明人。一直从事嵌入式系统设计,对嵌入式系统和消费类电子产品设计有深厚经验。
■ 研究方向:嵌入式系统设计
【张老师】
● 资深IC设计工程师,资深嵌入式系统设计工程师,ARM认证培训讲师。现任武汉集成电路设计工程技术研究中心研发部经理,华中地区ARM ATC负责人。曾任国内排名前十的集成电路设计公司SoC部项目经理、流程管理经理。一直从事大规模/超大规模数字集成电路,数模混合电路设计和嵌入式系统设计,对Multimedia processor有较深入的研究。
■ 研究方向:大规模/超大规模数字集成电路,数模混合电路设计和嵌入式系统设计
【余老师】
● 华中科技大学教师,硕士生导师,资深IC设计与系统工程师,ARM认证培训师,Solaris(SUN)培训师。现在华中科技大学电子系超大规模集成电路与系统研究中心工作。曾任武汉亚芯微电子有限公司项目(产品)经理。一直从事混合信号集成电路与集成系统方向的教学与研发工作,项目(产品)经验丰富。
■ 研究方向:混合集成电路与嵌入式系统设计
|
|
教材
|
|
《ARM Linux驱动开发培训讲义》
《Linux设备驱动开发实验指导书》
|
|
实验环境及班级规模
|
|
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。人手一套开发板和开发用机:ARM开发板(单击查看)
|
|
开班时间
|
|
小班授课,滚动开班,最多15人
具体请咨询
Tel:027--87611256
|
|
学时费用
|
|
◆课时: 共6天,每天8学时,总计48学时
◆培训证书:培训合格学员可获ARM公司全球统一培训认证证书
◆外地学员:代理安排食宿(需提前预定)
单击查看退费规定说明>>>
|
|
最新优惠
|
|
该课程的最新优惠信息请拨打咨询电话咨询
Tel:027--87611256
单击查看优惠制度说明>>>
|
|
质量保障
|
|
1、免费重听,报名参加了该课程,可以享受一次免费重听,享受和新学员同等待遇;
2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果;
3、学员在培训期间缴纳一定押金可免费租借实验开发板,方便学员利用课余时间巩固消化课程内容。
4、培训合格学员将加入教育中心人才库,享受免费的就业推荐。
|
|
课程进度安排
|
|
时间
|
课程大纲
|
|
第一天
|
|
学习目标
|
LINUX字符设备驱动程序开发
|
| |
1.1 LINUX字符设备驱动基础
1.2 字符设备驱动程序实现框架与典型驱动分析
1.3 用户空间与内核空间的数据传输
1.4 同步、互斥、阻塞、睡眠机制
1.5 Linux-2.6设备模型与sysfs文件系统
1.6 udev与devfs文件系统
|
|
第二天
|
|
学习目标
|
设备驱动中常用的内核机制
|
| |
2.1 Poll和s e lect操作
2.2 异步通知机制
2.3 1inux内核中断子系统
2.4 中断处理程序编写
2.5 驱动程序上/下半部处理与延缓执行机制
2.6 内核定时器与延迟机制
2.7 内核内存管理机制
|
|
第三天
|
|
学习目标
|
LINUX块设备驱动程序开发
|
| |
3.1 块设备及其驱动的特点
3.2 块设备驱动程序中两个关键结构体GEN_DISK与REQUEST
3.3 块设备驱动程序的注册与请求处理
3.4 MTD设备的特点以及与块设备的关系
3.5 MTD设备驱动的框架及关键结构体分析
3.6 S3C2440中的NAND FLASH控制器分析
3.7 S3C2440 NAND FLASH MTD驱动分析
|
|
第四天
|
|
学习目标
|
LINUX帧缓冲驱动程序开发
|
| |
4.1 帧缓冲显示技术
4.2 帧缓冲驱动程序显示原理
4.3 帧缓冲驱动程序的数据结构
4.4 帧缓冲驱动程序的API
4.5 帧缓冲驱动程序的基本实现
4.6 使用高级图形库
4.7 触摸屏工作原理
4.8 S3C2440触摸屏控制器工作原理
4.9 触摸屏驱动程序编写
|
|
第五天
|
|
学习目标
|
LINUX网络设备驱动程序开发
|
| |
5.1 OSI网络参考模型
5.2 套接字(SOCKET)简介
5.3 套接字缓冲区(SK_BUFF)
5.4 NET_DEVICE结构分析
5.5 数据包传送与接收
5.6 网络驱动的中断处理
5.7 网络设备驱动程序的基本实现
|