|
◆ 课程背景 开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而面对巨大的市场需求,国内很难找到一家专门系统培训Linux驱动工程师的培训机构,因为培训难度大,对老师的经验和知识面要求高,大部分培训机构的课程仅仅对Linux 浅尝即止,难以达到培养 Linux 高水平人才的目的。 本课程是华清远见的金牌课程,课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平最有效的捷径。
◆ 课程目标 熟练掌握Linux系统下设备驱动程序的开发技术,能够独立在Linux操作系统上开发各种驱动程序,如网卡、声卡、各类协议的驱动开发等。同时对Linux内核能够有较为深入的了解,掌握分析整个内核代码的方法。 ◆ 培养对象 Linux系统驱动开发工程师、Linux中高级程序设计师以及内核开发人员。希望深入了解嵌入式Linux系统开发的学员。 ◆ 入学要求 学员学习本课程应具备下列基础知识: 熟练使用Linux操作系统; 了解Linux内核结构; 熟悉C语言编程; 具备一定的硬件知识,如各种接口电路。 ◆ 师资团队 【周明】:金牌讲师,具有6年嵌入式linux驱动开发经验,熟悉EP7312、S3C44B0X、S3C2410等处理器,完成多个嵌入式项目开发。对系统移植有很强的经验,在X86/ARM/XSCALE/PowerPC/MIPS等各种体系结构平台上移植Linux内核;对于嵌入式Linux的实时性和CELinux的特点有深入研究。 【王辉】:金牌讲师,7年嵌入式开发经验,针对多款硬件平台(PowerPC8xx,Xscale,s3c2410,s3c2440,Mx1,Mx21,Mips,Parisc)进行嵌入式Linux裁减及移植工作,对其它嵌入式操作系统(eCos,WindowsCE)也有深入的研究。同时具有深厚的硬件功底,独自一人完成过上述多款平台从电路图设计,pcb布线,裸板的调试,bootloader编写,操作系统(linux、WindowsCE)移植及驱动开发,上层开发库及应用的移植一整套开发工作。
◆ 教材 《华清远见-嵌入式Linux驱动开发培训讲义》 《嵌入式设计及Linux驱动开发指南--基于ARM9处理器》 孙天泽编著 ◆ 班级规模及环境 为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。人手一套开发板和开发用的PC主机。 ◆ 时间地点 北京总部: 上课地点:北京清华大学 周末班(周六日上课):3月31日-4月15日,4月21日-5月13日 连续班(连续上课):3月31日-4月5日,4月21日-4月26日,5月1日-5月6日
上海分中心: 上课地点:上海复旦软件园 周末班(周六日上课):5月19日-6月3日,7月14日-7月29日 连续班(连续上课):5月19日-5月24日,7月14日-7月19日 深圳分中心: 上课地点:深圳南山毅哲大厦 周末班(周六日上课):4月21日-5月13日,6月16日-7月1日 连续班(连续上课):4月21日-4月26日,6月16日-6月21日
每期班名额有限,报满即停止报名,请提前在线或电话预约
◆ 学时费用 课时: 共6天,每天6学时,总计36学时 培训费用(含教材费和午餐费):公司员工(3500元),个人自费(2900元),学生自费(2500元,凭有效证件),团体报名优惠措施:两人95折优惠,三人或三人以上9折优惠 认证费(可选):300元(项目考核通过,颁发由中国软件行业协会嵌入式分会认证的《Linux设备驱动开发程师》证书) 外地学员:代理安排食宿(需提前预定)
◆ 其他优惠政策: 同时报选《嵌入式Linux系统开发班》,即享受500元优惠! 报选此课程可获200元折价劵! ◆ 质量保障 1、培训过程中,如有部分内容理解不透或消化不好,可免费在下期培训班中重听; 2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果; 3、培训合格学员可享受免费推荐就业机会。 ◆ 课程进度安排(V3.0)
第一天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. 编译高级图形库例子,显示图形-------------------------------------------------------------------------------- 本课程培训过的客户 清华大学 | 北京邮电大学 | 北京航空航天大学 | 北京工业大学 | 北京化工大学 | 中国人民大学信息学院 | 中国农业大学 | 大连理工大学 | 西安电子科技大学 | 燕山大学 | 桂林电子工业学院 | 长沙国防科技大学 | 福建工程学院 | 中科院空间中心 | 中科院计算所 | 中科院软件研究所有限公司 | 华北计算技术研究所 | 电信科学技术研究所 | Motorola | 日电电子中国有限公司(NEC) | 北广电子集团 | 保定天河电子 | 河北霸州市供电局 | 北京敏视达雷达有限公司 | 北阳电子 | 唐人数码 | 航天信息 | 浪潮电子信息产业股份有限公司 | 北京新松佳和控制系统有限公司 | 瞬联软件 | 上海贝尔阿尔卡特 | 上海怡力工程设备有限公司 | 上海华虹计通智能卡系统有限公司 | 上海电器科学研究所(集团)有限公司 | 上海计算机研究所 | 上海申通轨道交通研究咨询有限公司 | 上海儒竞电子科技有限公司 | 上海自动化仪表股份有限公司 | 上海704研究所 | 上海铁路通信 | 浙江华立科技股份有限公司 | 天津津亚电子有限公司 | 中电广通 | 华宇通讯 | 南京电子部第十四研究所 | 意科通信 | 北京日立华胜信息系统有限公司 | 铁道科学研究院 | 杭州恩康数码科技有限公司 | 北京波谱世纪科技发展有限公司 | 大连三曦智能科技有限公司 | 北京利达安信数码科技有限公司 | 数字太和 | 深圳开发科技股份有限公司 | 济南泰信
|
|
◆ 课程背景 开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而面对巨大的市场需求,国内很难找到一家专门系统培训Linux驱动工程师的培训机构,因为培训难度大,对老师的经验和知识面要求高,大部分培训机构的课程仅仅对Linux 浅尝即止,难以达到培养 Linux 高水平人才的目的。 本课程是华清远见的金牌课程,课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平最有效的捷径。
◆ 课程目标 熟练掌握Linux系统下设备驱动程序的开发技术,能够独立在Linux操作系统上开发各种驱动程序,如网卡、声卡、各类协议的驱动开发等。同时对Linux内核能够有较为深入的了解,掌握分析整个内核代码的方法。 ◆ 培养对象 Linux系统驱动开发工程师、Linux中高级程序设计师以及内核开发人员。希望深入了解嵌入式Linux系统开发的学员。 ◆ 入学要求 学员学习本课程应具备下列基础知识: 熟练使用Linux操作系统; 了解Linux内核结构; 熟悉C语言编程; 具备一定的硬件知识,如各种接口电路。 ◆ 师资团队 【周明】:金牌讲师,具有6年嵌入式linux驱动开发经验,熟悉EP7312、S3C44B0X、S3C2410等处理器,完成多个嵌入式项目开发。对系统移植有很强的经验,在X86/ARM/XSCALE/PowerPC/MIPS等各种体系结构平台上移植Linux内核;对于嵌入式Linux的实时性和CELinux的特点有深入研究。 【王辉】:金牌讲师,7年嵌入式开发经验,针对多款硬件平台(PowerPC8xx,Xscale,s3c2410,s3c2440,Mx1,Mx21,Mips,Parisc)进行嵌入式Linux裁减及移植工作,对其它嵌入式操作系统(eCos,WindowsCE)也有深入的研究。同时具有深厚的硬件功底,独自一人完成过上述多款平台从电路图设计,pcb布线,裸板的调试,bootloader编写,操作系统(linux、WindowsCE)移植及驱动开发,上层开发库及应用的移植一整套开发工作。
◆ 教材 《华清远见-嵌入式Linux驱动开发培训讲义》 《嵌入式设计及Linux驱动开发指南--基于ARM9处理器》 孙天泽编著 ◆ 班级规模及环境 为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。人手一套开发板和开发用的PC主机。 ◆ 时间地点 北京总部: 上课地点:北京清华大学 周末班(周六日上课):3月31日-4月15日,4月21日-5月13日 连续班(连续上课):3月31日-4月5日,4月21日-4月26日,5月1日-5月6日
上海分中心: 上课地点:上海复旦软件园 周末班(周六日上课):5月19日-6月3日,7月14日-7月29日 连续班(连续上课):5月19日-5月24日,7月14日-7月19日 深圳分中心: 上课地点:深圳南山毅哲大厦 周末班(周六日上课):4月21日-5月13日,6月16日-7月1日 连续班(连续上课):4月21日-4月26日,6月16日-6月21日
每期班名额有限,报满即停止报名,请提前在线或电话预约
◆ 学时费用 课时: 共6天,每天6学时,总计36学时 培训费用(含教材费和午餐费):公司员工(3500元),个人自费(2900元),学生自费(2500元,凭有效证件),团体报名优惠措施:两人95折优惠,三人或三人以上9折优惠 认证费(可选):300元(项目考核通过,颁发由中国软件行业协会嵌入式分会认证的《Linux设备驱动开发程师》证书) 外地学员:代理安排食宿(需提前预定)
◆ 其他优惠政策: 同时报选《嵌入式Linux系统开发班》,即享受500元优惠! 报选此课程可获200元折价劵! ◆ 质量保障 1、培训过程中,如有部分内容理解不透或消化不好,可免费在下期培训班中重听; 2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果; 3、培训合格学员可享受免费推荐就业机会。 ◆ 课程进度安排(V3.0)
第一天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. 编译高级图形库例子,显示图形-------------------------------------------------------------------------------- 本课程培训过的客户 清华大学 | 北京邮电大学 | 北京航空航天大学 | 北京工业大学 | 北京化工大学 | 中国人民大学信息学院 | 中国农业大学 | 大连理工大学 | 西安电子科技大学 | 燕山大学 | 桂林电子工业学院 | 长沙国防科技大学 | 福建工程学院 | 中科院空间中心 | 中科院计算所 | 中科院软件研究所有限公司 | 华北计算技术研究所 | 电信科学技术研究所 | Motorola | 日电电子中国有限公司(NEC) | 北广电子集团 | 保定天河电子 | 河北霸州市供电局 | 北京敏视达雷达有限公司 | 北阳电子 | 唐人数码 | 航天信息 | 浪潮电子信息产业股份有限公司 | 北京新松佳和控制系统有限公司 | 瞬联软件 | 上海贝尔阿尔卡特 | 上海怡力工程设备有限公司 | 上海华虹计通智能卡系统有限公司 | 上海电器科学研究所(集团)有限公司 | 上海计算机研究所 | 上海申通轨道交通研究咨询有限公司 | 上海儒竞电子科技有限公司 | 上海自动化仪表股份有限公司 | 上海704研究所 | 上海铁路通信 | 浙江华立科技股份有限公司 | 天津津亚电子有限公司 | 中电广通 | 华宇通讯 | 南京电子部第十四研究所 | 意科通信 | 北京日立华胜信息系统有限公司 | 铁道科学研究院 | 杭州恩康数码科技有限公司 | 北京波谱世纪科技发展有限公司 | 大连三曦智能科技有限公司 | 北京利达安信数码科技有限公司 | 数字太和 | 深圳开发科技股份有限公司 | 济南泰信
|