嵌入式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驱动开发案例流程--LED驱动

本文主要是以一个最简单的LED驱动开发流程,来窥探一下Linux驱动开发为何物。 基本流程: 1.编写驱动文件xxxx.c 这个文件的主要作用是对设备硬件初始化,主要是xxx_init(),其中...
  • u012351051
  • u012351051
  • 2015年07月14日 14:39
  • 704

嵌入式Linux驱动开发实战视频教程

嵌入式Linux驱动开发实战教程(内核驱动、看门狗技术、触摸屏、视频采集系统) 适合人群:高级 课时数量:109课时 用到技术:嵌入式 Linux 涉及项目:驱动开发、看门狗技术、触摸屏、视频...
  • u013802231
  • u013802231
  • 2014年10月13日 10:00
  • 2250

嵌入式Linux设备驱动开发(二)

上一篇中介绍到设备驱动如何匹配设备以及绑定设备的,在Linux系统下进行注册,这里将继续介绍probe函数的功能。 5、probe函数 Probe()函数必须验证指定设备的硬件是否真的存在,pro...
  • chuhang_zhqr
  • chuhang_zhqr
  • 2016年03月10日 13:51
  • 1239

嵌入式Linux下基于libusb的USB驱动开发

由于usb设备的普遍性及其多样性,大量的usb设备的驱动开发也就成为开发者做的最多的事情。Linux平台上,内核驱动的开发由于内核的复杂和版本问题,初学者难以入手,驱动程序也不易升级和维护。本文主要介...
  • su1041168096
  • su1041168096
  • 2018年01月06日 16:39
  • 95

嵌入式linux下usb驱动开发方法--看完少走弯路

嵌入式linux下的usb属于所有驱动中相当复杂的一个子系统,要想将她彻底征服,至少需要个把月的时间,不信?那是你没做过。 本人做过2年的嵌入式驱动开发,usb占了一大半的时间。期间走了不少弯路...
  • David_xtd
  • David_xtd
  • 2014年04月29日 15:51
  • 8777

嵌入式Linux驱动开发-突然发现自己是新手

嵌入式的入手在哪里
  • xudawei725
  • xudawei725
  • 2016年02月27日 13:40
  • 311

嵌入式Linux驱动开发(四)——字符设备驱动之中断方式以及中断方式获取按键值

之前我们完成了关于通过查询的方式获取按键键值的驱动程序,可以参考:嵌入式Linux开发——裸板程序之中断控制器。 虽然读取键值没有什么问题,但是测试程序占用CPU过高,一直在不断的查询,资源消耗过大,...
  • Toonle
  • Toonle
  • 2017年08月23日 21:10
  • 314

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

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

飞星嵌入式LINUX驱动视频课程表

飞星嵌入式LINUX视频课程表 技术交流QQ群     :  215875560 业务QQ           :  32708168 购买地址     ...
  • liang0000zai
  • liang0000zai
  • 2013年07月23日 23:08
  • 1955

嵌入式Linux驱动笔记(三)------LCD驱动程序

你好!这里是风筝的博客,欢迎和我一起交流。 如果本篇博客对您有帮助,或许可以在下方评论给我留个言。 开发板为JZ2440, Linux Kernel 4.4.18 在Kernel...
  • Guet_Kite
  • Guet_Kite
  • 2017年07月12日 15:15
  • 1154
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式Linux驱动开发
举报原因:
原因补充:

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