您的位置:首页 > 运维架构 > Linux

嵌入式Linux驱动开发

2015-07-08 13:25 435 查看

嵌入式Linux驱动开发

培训时间:

1、连续七天上课(强化班)

2、7个周末完成,周六全天(周末班)

3、每晚两学时,共28天完成(晚上班)

课程要求:

  该课程综合了嵌入式Linux底层驱动开发要点,专门针对有一定嵌入式Linux基础的学员,要求熟悉C语言、单片机、简单的模电、数电知识,并对Linux操作系统有一定的概念,希望对嵌入式Linux底层驱动开发进行系统学习的学员。

课程目标:

  通过本课程的学习,可以使嵌入式工程师对嵌入式Linux设备驱动开发系统、全面的掌握,熟悉在设备驱动开发过程中的注意事项,并能够独立胜任复杂的嵌入式Linux设备驱动开发,独立完成这些驱动的调试、修改、移植等任务。

课程内容要求:

1、熟悉GNU/Linux C语言部分扩展语法

2、精通Linux操作系统使用

3、熟悉嵌入式处理器底层驱动开发原理

4、掌握系统对设备发起的各项并发操作的解决方案

5、学会熟练使用Linux驱动常用内核机制,如中断、并发、同步/异步、定时器、内核线程等操作

6、掌握Linux设备驱动原理框架和调试技巧

7、熟悉工程中常见Linux下多种字符设备、framebuffer设备、块设备、MTD设备、网络设备、USB设备的驱动开发

8、熟练运用platform、杂项、IIC、SPI、V4L2、ALSA、input、frombuffer等子系统在工程项目中的应用

9、掌握最新嵌入式Linux内核驱动裁剪、移植、及开发方法

10、通过项目实践验收学习成果

课程体系:

一、Linux设备驱动大军—字符设备


课程内容:

1.字符驱动基本概念

2.字符驱动框架分析与内核实现

3.设备文件相关知识介绍及使用

4.GPIO硬件驱动设计

5.sys、proc文件系统介绍及使用

实战项目:

1.字符驱动框架实现(scull驱动)

2.led流水灯驱动

3.1*5按键驱动

4.标准GPIO驱动

二、Linux设备驱动规则—内核机制

课程内容:

1.Linux中断机制的使用以及底半部延后操作

2.Linux并发问题分析,学习并练习使用多种并发处理机制

3.Linux定时器、延时机制的应用

4.阻塞和非阻塞机制讲解与使用

5.select poll机制应用分析

6.内核线程的应用

实战项目:

1.中断方式按键驱动(采用定时器实现连续键、长短键、组合键等功能)

2.并发处理机制在实际工程中的应用

3.阻塞非阻塞功能的添加与实现

4.通过按键驱动掌握内核线程的应用

三、Linux设备驱动模型—经典子系统

课程内容:

1.杂项子系统解析

2.platform机制详解和实例应用

3.input子系统框架分析和应用

4.spi、i2c协议介绍,时序模拟

5.Linux下spi、i2c子系统分析和实战应用

实战项目:

1.杂项驱动注册实例及流程分析

2.Linux内核源码添加platform资源和platform驱动

3.input标准输入设备驱动

4.spi接口呼吸灯驱动(IO模拟方式 + 子系统方式)

5.i2c接口温湿度传感器驱动(IO模拟方式 + 子系统方式)

四、数据存储技术—块设备及MTD设备

课程内容:

1.Linux块设备驱动框架解析

2.ramdisk驱动实例的设计与实现

3.MTD设备驱动框架分析

4.s5pv210下nand flash驱动分析

实战项目:

1.ramdisk(虚拟内存盘)驱动实例开发

2.Linux格式化、分区操作练习

3.nand flash驱动实例练习和分析

4.MTD驱动框架跟踪实现

五、多媒体开发技术—framebuffer驱动

课程内容:

1.framebuffer显示机制分析

2.framebuffer设备驱动实现机制

3.framebuffer上层应用接口

4.framebuffer应用实例,基于图形库的UI界面

实战项目:

1.基于Linux3.0.8内核的RGB接口LCD驱动移植项目

2.framebuffer设备的上层应用

3.基于图形库的图片浏览器项目

4.多点触摸电容屏项目实战

六、网络通信技术—Linux网络设备驱动

课程内容:

1.网络模型介绍

2.socket接口介绍及使用

3.网络数据包收发流程

4.网络设备驱动框架分析

5.网卡驱动实现(SMSC911x、DM9000、ENC28J60)

实战项目:

1.基于Linux3.0.8内核的SMSC911x网卡驱动移植项目

2.SPI接口ENC28J60网卡驱动移植项目

3.进行网络即时通讯工具的设计与实现

七、USB数据通信技术—Linux USB高级驱动

课程内容:

1.USB2.0协议规范

2.USB主控制器规范

3.USB设备枚举过程

4.USB子系统简析

5.USB主控制器(OHCI、EHCI)驱动分析

6.USB集线器(Hub)驱动分析

7.USB设备驱动程序编写

实战项目:

1.USB键盘驱动开发实战

2.USB子系统工作流程分析

3.USB子系统sys目录结构分析与使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: