嵌入式Linux驱动开发

转载 2015年07月08日 13:25:21

嵌入式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目录结构分析与使用

嵌入式Linux驱动开发

  • 2011年08月27日 18:18
  • 13.2MB
  • 下载

嵌入式Linux驱动开发

  • 2012年07月23日 10:20
  • 9.06MB
  • 下载

嵌入式linux驱动开发流程总结

嵌入式linux驱动开发流程 嵌入式系统中,操作系统是通过各种驱动程序来驾驭硬件设备的。设备驱动程序是操作系统内核和硬件设备之间的接口,它为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是...

嵌入式linux驱动开发环境搭建(亲测成功)

一开发环境: (1)主机:vmware8+fedora14,内核版本为2.6.35,主机自带GCC版本4.5。(这两点很重要,所有的问题都与这两个因素有关)。 (2)目标机:S3C6410(arm11...

【嵌入式Linux驱动开发】一、简介

1. 分类 (1)字符设备驱动(占驱动的绝大部分) 像字节流一样存储的设备(如同文件),对它的读写是以字节为单位通常至少需要实现open、close、read和write等系统调用应用程序可以通过...

嵌入式linux驱动开发【独家+原创视频教学】

aiku致力于打造最快、最给力、嵌入式linux驱动开发【独家+原创视频教学】!! aiku本周日晚上八点半讲linux字符设备驱动ADC驱动讲解!!!!!到时候群上会通知·如何进入YY频道! aik...
  • aiku969
  • aiku969
  • 2014年09月14日 23:32
  • 2283

Exynos 4412 Cortex-A9嵌入式Linux驱动开发学习笔记-第一期

一、Linux 体系结构 如下图所示,Linux 体系结构,从大的方面可以分为用户空间(User Space)和内核空间 (Kernel Space)。 用户空间中包含了 C 库,用户的应用...
  • oleg_wu
  • oleg_wu
  • 2016年12月06日 21:25
  • 801

【嵌入式Linux驱动开发】二、模块

1. 内核模块的程序结构 1)module_init() ——模块加载函数(必须) 通过insmod或modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成模块的相关初始...

嵌入式Linux驱动开发之helloword心得

自从选择了物联网这个专业,智能XX的字样牵动着每一个学习这个专业的孩子。 大家兴致勃勃的来到了学校,结果一切想象和自己的设想并不一样。想象中的各种智能般梦幻的场景变成了真实的高数/电路/模电等等...

嵌入式Linux驱动开发(一)一个简单的Linux内核模块框架

#include #include #include static int __init mod_init(void) { return 0; }static void __exit mo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式Linux驱动开发
举报原因:
原因补充:

(最多只允许输入30个字)