返回首页

嵌入式Linux驱动开发班

时间:2016-10-10 22:54来源:武汉华嵌 作者:admin 点击:
嵌入式Linux驱动开发培训班(HQLD3002) 课程背景 开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏
  

嵌入式Linux驱动开发培训班(HQLD3002)

 

 
  课程背景

        开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而面对巨大的市场需求,国内很难找到一家专门系统培训Linux驱动工程师的培训机构,因为培训难度大,对老师的经验和知识面要求高,大部分培训机构的课程仅仅对Linux 浅尝即止,难以达到培养 Linux 高水平人才的目的。
       嵌入式linux驱动培训是武汉华嵌的金牌课程,学员学完后可手写5款以上驱动程序。本课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平最有效的捷径。

   课程目标

        驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容,开发出高质量的驱动程序是项目成功的关键。随着产品上市周期的缩短,市场对于驱动程序开发 人员的要求也在日益增加。本课程旨在培养具备开发Linux下驱动程序的人才,采用理论教学与实验相结合的方式,系统地介绍Linux下设备驱动程序开发过程。通过本课程的 学习,学员可以掌握Linux下字符设备、块设备、网络设备、framebuffer设备、sd卡等驱动程序、usb驱动的开发,同时掌握嵌入式Linux的系统开发和分析方法。

   培养对象

        Linux系统驱动开发工程师、Linux中高级软件工程师以及内核开发人员。

   入学要求

        学员学习本课程应具备下列基础知识:
        ◆ 熟练使用Linux操作系统,如学员具有一定的Linux内核阅读经验,效果会更好;
        ◆ 熟悉C语言,熟悉指针、结构体等概念;
        ◆ 了解接口电路和数字电路的知识,最好具有电路设计经验。

   师资团队

 

 冯勇
●   武汉华嵌中心高级讲师,工学硕士,曾任武汉某上市公司高级研发经理,6年ARM、Linux嵌入式系统开发经验,3年嵌入式培训讲师经验。作为 研发骨干完成了多项嵌入式系统与软件开发项目,开发出多款手持终端和消费终端,对于ARM+Linux的嵌入式系统开发和编程有着丰富的经验,尤其专注 Linux下的驱动开发。专长研究方向: ARM系统开发与设计,Linux系统应用编程,Linux底层驱动开发。


【李家凯】
●   武汉华嵌中心金牌讲师,工学硕士,曾任某公司高级研发经理,5年嵌入式培训讲师经验,9年Linux平台工作经验,有多个大型Linux平台项目开发和管理经验,曾主持开发了基于arm+linux的电子消费终端、POS交易终端、列车运行状态监控系统、电站绝缘子污秽监测系统等大型嵌入式项目。精通Linux下的C语言编程技术、(交叉)编译、调试环境、Makefile编写;精通Linux的内核编译、系统移植、自由软件MiniGUI、 Qt图形编程、sqlite数据库开发、TCP/IP网络编程;精通ARM体系结构、Linux设备驱动编写。专长研究方向:Arm+Linux平台下的应用编程、系统开发与驱动开发,minigui/QT图形系统开发。李老师博客>>>

    
 【周龙

● 武汉华嵌中心高级讲师,工学硕士,曾任某公司高级嵌入式研发工程师。5年ARM、嵌入式linux开发经验、2年嵌入式系统培训经验。作为骨干完成了多项嵌入式系统如远程视频监控系统、手持电子消费终端。尤其擅长linux应用开发和Linux驱动开发。专长研究方向:嵌入式linux应用开发、驱动开发。
 

更多师资力量请参见师资团队

 

   教材

        ◆ 《武汉华嵌-嵌入式Linux驱动开发培训讲义》
        ◆ 《Linux设备驱动开发详解》

   班级规模及环境

        为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限20人,多余人员安排到下一期进行。人手一套开发板和开发用的PC主机。   

   时间地点

 


         华嵌武汉中心(滚动开班):

         华嵌长沙中心(滚动开班):
        上课地点:查看地图>>
       


本课程每期班限额20名,报满即停止报名,请提前在线或电话预约
武汉华嵌保留开课时间调整的权利,欢迎来电洽询

   学时费用

        ◆课时: 共8天,每天8学时,总计64学时,其中授课32学时,实验32学时。
        ◆培训费用(含教材费):公司(4000元),个人自费(3600元),学生自费(3200元,凭有效证件)
        ◆认证费(可选):培训合格学员可获工业和信息化部《国家信息技术应用技能嵌入式Linux驱动开发工程师认证证书》(认证费500元)。 
        ◆外地学员:代理安排食宿(需提前预定)

   最新优惠

       ◆团体报名优惠措施:两人95折优惠,三人或三人以上9折优惠

        ◆套餐课程同时报名优惠措施(以下套餐优惠只能任选一种):       

1、同时报选《ARM开发培训班》,即享受400元优惠

2、同时报选《嵌入式Linux系统开发班》,即享受400元优惠!

 

   质量保障

        1、培训过程中,如有部分内容理解不透或消化不好,可免费在下期培训班中重听;
        2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果;
        3、培训合格学员可享受免费推荐就业机会。

   课程进度安排(最新更新日期:2016.10.10
时间 课程大纲

第1-2天

学习目标

    通过本课学习,学员可以从用户设备I/O编程角度深入了解设备驱动的原理;通过了解字符设备驱动框架和具体硬件设备I/O操作,能够进行字符设备驱动开发;了解linux2.6/3.x内核的设备模型及掌握udev的使用。

9:00
|
12:00

1. LINUX字符设备驱动程序开发
    1.1 LINUX字符设备驱动基础
    1.2 字符设备驱动程序实现框架与典型驱动分析
    1.3 用户空间与内核空间的数据传输
    1.4 同步、互斥、阻塞、睡眠机制
    1.5 Linux-2.6/3.x设备模型与sysfs文件系统
    1.6 udev与devfs文件系统

13:00
|
17:00

【实验】
    1、驱动开发编程环境与内核配置、编译
    2、编写模块化字符设备驱动程序与测试
    3、如何为内核程序传递参数
    4、在驱动代码中加入创建proc结点方法
    5、蜂鸣器驱动程序编写与测试
    6、编写驱动实现包含等待队列、信号量、fifo等功能
    7、学会利用udev和sysfs文件系统动态创建设备结点

第3-4天

学习目标

    通过本课学习,学员可以掌握在基本字符设备驱动的基础上增加复杂的内核机制;了解1inux内核中断子系统的实现原理,掌握linux中断处理程序编写方法;掌握内核延时机制及内存管理机制。

9:00
|
12:00
2. 设备驱动中常用的内核机制
    2.1 Poll和select操作
    2.2 异步通知机制
    2.3 1inux内核中断子系统
    2.4 中断处理程序编写
    2.5 驱动程序上/下半部处理与延缓执行机制
    2.6 内核定时器与延迟机制
    2.7 内核内存管理机制
13:00
|
17:00

【实验】
    1、编写驱动实现包含等待队列、信号量、fifo等功能
    2、编写驱动实现包含poll功能
    3、编写驱动实现包含异步通知功能
    4、编写秒表字符设备,掌握定时器用法
    5、编写驱动实现tasklet功能
    6、编写驱动实现工作队列功能
    7、按键中断实验
    8、A/D转换实验

第5天

学习目标

    通过本课学习,学员可以明白Linux中块设备驱动的特点及框架,独立分析Linux中大部分块设备的驱动方法,并熟悉MTD设备驱动的特点与框架。通过实验,学员还可以掌握Ramdisk驱动移植方法。

9:00
|
12:00

3. LINUX块设备驱动程序开发
    3.1 块设备及其驱动的特点
    3.2 块设备驱动程序中两个关键结构体GEN_DISK与REQUEST
    3.3 块设备驱动程序的注册与请求处理
    3.4 MTD设备的特点以及与块设备的关系
    3.5 MTD设备驱动的框架及关键结构体分析

13:00
|
17:00

【实验】
    1、编写简单的块设备驱动程序
    2、实现RAMDISK驱动
    3、IDE硬盘的驱动移植
    4、移植 闪存控制器驱动
    5、配置MTD内核选项
    6、移植嵌入式文件系统

第6天

学习目标

    网络设备是嵌入式产品开发,特别是基于网络的产品开发中最重要的内容之一。通过本课学习,学员可以深入理解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
|
17:00

【实验】
    1、编写简单的虚拟以太网卡驱动程序
    2、移植并编写DM9000网卡驱动程序
    3、配置网络参数,测试网卡驱动程序行为

第7天

学习目标

    通过本课学习,学员可掌握嵌入式Linux显示驱动程序的开发方法,理解嵌入式Linux图形驱动程序实现机制,能够移植或编写嵌入式显示控制器驱动程序,并完成针对各种LCD硬件的定制。

9:00
|
12:00

6. LINUX帧缓冲驱动程序开发
    6.1 帧缓冲显示技术
    6.2 帧缓冲驱动程序显示原理
    6.3 帧缓冲驱动程序的数据结构
    6.4 帧缓冲驱动程序的API
    6.5 帧缓冲驱动程序的基本实现
    6.6 使用高级图形库
7. 触摸屏驱动开发
    7.1 触摸屏工作原理
    7.2 S3C2440触摸屏控制器工作原理
    7.3 触摸屏驱动程序编写

 

13:00
|
17:00

【实验】
    1、熟悉FRAMEBUFFER驱动的结构
    2、熟悉FRAMEBUFFER中的重要数据结构
    3、编写彩色LCD控制器驱动程序
    4、编写测试程序控制屏幕显示
    5、编译高级图形库例子,显示图形
    6、熟悉触屏驱动程序
    7、写触屏测试代码

第8天

学习目标

    掌握USB通讯规范及拓扑结构中的主机控制器、HUB、USB设备的工作流程;掌握S3C2440 /S5P210 USB device控制器的工作原理;最后在开发板上编写usbtransfer固件程序,结合PC机上windows环境下的DNW软件,实现基于usb的文件下载功能。通过Linux下USB驱动开发内容的学习,学员将深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后的学员能够移植或编写USB主机OHCI和设备驱动程序,最后通过对usbtransfer设备的驱动编程,实现在linux环境下的文件下载功能(替换DNW的下载功能)。

9:00
|
12:00

8. LINUX下USB驱动开发基础
    8.1 USB规范介绍
    8.2 USB主机控制器
    8.3 USB HUB
    8.4 USB设备状态
    8.5 USB描述符
    8.6 USB请求
    8.7 USB通讯数据格式
    8.8 USB device控制器
    8.9 编写usbtransfer固件程序
9. LINUX下USB驱动实例
    9.1 Linux USB驱动层次
    9.2 Linux USB主机控制器驱动介绍
    9.3 Linux USB HUB驱动介绍
    9.4 Linux USB 设备驱动程序
    9.5 编写usbtransfer设备驱动程序
    9.6 编写usbtransfer设备应用程序

13:00
|
17:00

【实验】
    1、在开发板上烧写并测试USB固件程序
    2、usbtransfer固件程序分析与编写
    3、使用usbview工具观察USB设备
    4、使用sysfs分析USB层次结构
    5、LINUX下编写usbtransfer设备驱动实现USB下载

   本课程培训过的客户

        中船重工709研究所 | 烽火科技 | 武钢工程技术集团通信有限责任公司 | 宜昌710研究所 | 武汉高德红外 | 矽感科技 | 武汉天喻信息产业股份有限公司 | 武汉富士康科技 | 武汉普创科技 | 昆明南天电子信息股份有限公司 | 717研究所 | 长沙矿山研究院 | 科工集团航天学院 | 三江航天红峰厂 | 武汉大学 | 武汉理工大学 | 中国地质大学 | 桂林电子科技大学 | 武汉军械士官学院 | 中南民族大学 | 韩山师范学院 | 十堰职业技术学院 | 温州职业技术学院 | 武汉职业技术学院 | 武汉科技大学 | 长江职业技术学院 | 湖南商学院 | 襄樊职业技术学院 | 江西理工大学 | 中南民族大学工商学院 | 深圳职业技术学院 | 武汉工业职业技术学院 | 武汉科技大学中南分校 等等......

 

 

------分隔线----------------------------

  • 胡老师
  • 李老师
  • 周老师
  • 李老师
开源硬件平台-Arduino与树莓派