嵌入式Linux驱动开发实战教程(内核驱动、看门狗技术、触摸屏、视频采集系统)
课程讲师:韩老师 课程分类:Linux 适合人群:高级 课时数量:109课时 更新程度:完成 服务类型:C类(普通服务类课程) 用到技术:嵌入式 Linux 涉及项目:驱动开发、看门狗技术、触摸屏、视频采集 课程咨询QQ:2050339477 课程概要: 嵌入式软件开发无疑是当今最热门的行业,嵌入式软件工程师的薪资比普通的软件工程师的薪资平均高50%以上。随着智能控制、物联网的建设,社会对嵌入式人才的需求越来越多,而嵌入式linux驱动开发是整个嵌入式开发的核心。 很多同学或在职人员已经意识到了嵌入式linux驱动的重要性,已经开始自学嵌入式linux驱动,但是因为嵌入式linux驱动开发不同于普通的纯软件开发,它是综合了计算机软、硬件的一门综合学科,涉及模拟电路,数字电路,C语言、计算机组成原理,微机控制技术,网络技术,数据结构等课程,而且linux驱动有自己独特的软件框架这是学习linux驱动的核心,很多同学面对linux驱动涉及的这么多课程和知识点,尤其是linux驱动的框架,往往不知道从何处下手开始学习linux驱动。本课程能够帮助大家很好的学习嵌入式linux驱动开发技术,能够在很短的时间内掌握linux驱动的开发方法。 本课程即是针对有兴趣学习嵌入式linux驱动开发又不知道从何处着实开始学习嵌入式linux驱动开发的在校同学以及社会在职人员。本课程采用理论教学与实验相结合的方式,软件与硬件相结合的方式,重点给大家讲解嵌入式linux驱动开发的方法,系统地介绍嵌入式linux驱动开发的过程。通过本课程的学习,学员可以掌握linux内核模块的开发方法、linux内存管理机制、linux进程管理机制、linux内核链表机制、linux系统调用机制、linux字符设备驱动的开发方法、linux网络设备驱动的开发方法、linux块设备驱动的开发方法等能力。引导学员进入linux驱动开发的精彩世界,通过学习嵌入式linux驱动开发使大家成为嵌入式开发的高层次人才。 教学模式说明: 本课程重点是给大家讲解嵌入式linux驱动的开发方法,采用理论与实践,硬件与软件相结合的方法。 1、在每节开始之前先简单回顾上一节所讲的主要内容,并对本节所讲的内容先进行概述,讲解概念、技术要点,设计实现思路等内容,最后总结本次课程的要掌握的要点。 2、每讲解一次理论课后都会讲解硬件原理图和实例代码,帮助大家理解理论知识,详细讲解代码如何实现的以及编程过程中注意的问题。 3、鉴于linux驱动的特点,在讲课过程中会侧重于讲解linux驱动的软件框架,大家掌握linux驱动的框架是学习的重点。 4、学习的过程中学员要理论和实践相结合,硬件与软件相结合,讲过的代码学员自行完成修改和调试,以巩固加深学习效果。 课程大纲: 课程进度安排: 第一阶段:嵌入式linux驱动开发基础-内核模块开发 第1讲嵌入式linux驱动开发-驱动模型分析 第2讲嵌入式linux驱动开发-内核模块开发(上) 第3讲嵌入式linux驱动开发-内核模块开发(中) 第4讲嵌入式linux驱动开发-内核模块开发(下) 第二阶段:嵌入式linux驱动开发基础-内存管理实现机制 第5讲嵌入式linux驱动开发-内存管理分析(上) 第6讲嵌入式linux驱动开发-内存管理分析(下) 第7讲嵌入式linux驱动开发-进程地址空间分析 第8讲嵌入式linux驱动开发-内核地址空间分析 第三阶段:嵌入式linux驱动开发基础-内核链表及内核定时器实现机制 第9讲嵌入式linux驱动开发-linux内核链表原理分析 第10讲嵌入式linux驱动开发-linux内核链表实例分析 第11讲嵌入式linux驱动开发-linux内核定时器 第四阶段:嵌入式linux驱动开发基础-内核进程控制实现机制 第12讲嵌入式linux驱动开发-linux进程控制分析(上) 第13讲嵌入式linux驱动开发-linux进程控制分析(下) 第14讲嵌入式linux驱动开发-linux内核调度详解(上) 第15讲嵌入式linux驱动开发-linux内核调度详解(下) 第五阶段:嵌入式linux驱动开发基础-linux内核空间与用户空间交互机制 第16讲嵌入式linux驱动开发-linux系统调用原理分析 第17讲嵌入式linux驱动开发-linux系统调用实例分析 第18讲嵌入式linux驱动开发-proc文件系统详解 第19讲嵌入式linux驱动开发-linux内核异常分析 第六阶段:嵌入式linux驱动开发基础-linux字符设备驱动基础 第20讲嵌入式linux驱动开发基础-linux设备驱动介绍 第21讲嵌入式linux驱动开发基础-分配设备号 第22讲嵌入式linux驱动开发基础-字符设备重要数据结构分析 第23讲嵌入式linux驱动开发基础-字符设备的注册 第24讲嵌入式linux驱动开发基础-字符设备操作方法open操作 第25讲嵌入式linux驱动开发基础-字符设备操作方法write操作 第26讲嵌入式linux驱动开发基础-字符设备操作方法read操作 第27讲嵌入式linux驱动开发基础-字符设备驱动综合实力分析1 第28讲嵌入式linux驱动开发基础-字符设备驱动综合实力分析2 第29讲嵌入式linux驱动开发基础-设备驱动调试技术 第30讲嵌入式linux驱动开发基础-驱动程序中的并发与竞态分析 第31讲嵌入式linux驱动开发基础-linux内核中的原子操作分析 第32讲嵌入式linux驱动开发基础-linux内核中的自旋锁分析 第33讲嵌入式linux驱动开发基础-linux内核中的信号量分析 第34讲嵌入式linux驱动开发基础-驱动并发控制实例分析 第七阶段:嵌入式linux驱动开发基础-linux高级字符设备驱动开发 第35讲嵌入式linux高级字符驱动设计-设备ioctl方法的实现(上) 第36讲嵌入式linux高级字符驱动设计-设备ioctl方法的实现(下) 第37讲嵌入式linux高级字符驱动设计-字符设备驱动程序实例分析 第38讲嵌入式linux高级字符驱动设计-内核等待队列 第39讲嵌入式linux高级字符驱动设计-阻塞型字符设备驱动设计 第40讲嵌入式linux高级字符驱动设计-阻塞型字符驱动实例分析(上) 第41讲嵌入式linux高级字符驱动设计-阻塞型字符驱动实例分析(下) 第42讲嵌入式linux高级字符驱动设计-经典字符驱动程序实例分析(1) 第43讲嵌入式linux高级字符驱动设计-经典字符驱动程序实例分析(2) 第44讲嵌入式linux高级字符驱动设计-经典字符驱动程序实例分析(3) 第45讲嵌入式linux高级字符驱动设计-Select系统调用 第46讲嵌入式linux高级字符驱动设计-Poll方法的实现 第47讲嵌入式linux高级字符驱动设计-Poll方法实例分析 第48讲嵌入式linux高级字符驱动设计-高级字符驱动程序实例分析 第49讲嵌入式linux高级字符驱动设计-设备中的异步通知实现 第50讲嵌入式linux高级字符驱动设计-设备中的异步通知实例分析 第51讲嵌入式linux高级字符驱动设计-自动创建设备文件 第52讲嵌入式linux高级字符驱动设计-mmap系统调用 第53讲嵌入式linux高级字符驱动设计-mmap操作方法的实现 第54讲嵌入式linux高级字符驱动设计-高级字符驱动实例分析 第八阶段:嵌入式linux驱动开发基础-linux设备驱动模型 第55讲嵌入式linux驱动模型-Sysfs文件系统分析 第56讲嵌入式linux驱动模型-驱动模型核心数据结构Kobject 第57讲嵌入式linux驱动模型-驱动模型核心数据结构Kset 第58讲嵌入式linux驱动模型-驱动模型实例分析 第59讲嵌入式linux驱动模型-总线 第60讲嵌入式linux驱动模型-设备 第61讲嵌入式linux驱动模型-驱动 第62讲嵌入式linux驱动模型-总线设备驱动模型原理分析 第63讲嵌入式linux驱动模型-平台驱动模型 第64讲嵌入式linux驱动模型-平台驱动实例分析 第八阶段:嵌入式linux驱动实例分析 第65讲嵌入式linux驱动开发实例分析-IO内存操作 第66讲嵌入式linux驱动开发实例分析-混杂设备驱动分析 第67讲嵌入式linux驱动开发实例分析-led驱动分析 第68讲嵌入式linux驱动开发实例分析-linux中断实现过程分析 第69讲嵌入式linux驱动开发实例分析-linux中断底半部机制 第70讲嵌入式linux驱动开发实例分析-linux中断驱动实例分析(上) 第71讲嵌入式linux驱动开发实例分析-linux中断驱动实例分析(下) 第72讲嵌入式linux驱动开发实例分析-看门狗驱动详解(上) 第73讲嵌入式linux驱动开发实例分析-看门狗驱动详解(下) 第74讲嵌入式linux驱动开发实例分析-RTC原理分析 第75讲嵌入式linux驱动开发实例分析-RTC驱动实例分析(上) 第76讲嵌入式linux驱动开发实例分析-RTC驱动实例分析(下) 第77讲嵌入式linux驱动开发实例分析-RTC驱动框架分析 第78讲嵌入式linux驱动开发实例分析-linux输入子系统 第79讲嵌入式linux驱动开发实例分析-基于输入子系统的按键驱动程序设计(上) 第80讲嵌入式linux驱动开发实例分析-基于输入子系统的按键驱动程序设计(下) 第81讲嵌入式linux驱动开发实例分析-AD驱动实现分析 第82讲嵌入式linux驱动开发实例分析-触摸屏驱动分析(上) 第83讲嵌入式linux驱动开发实例分析-触摸屏驱动分析(下) 第84讲嵌入式linux驱动开发实例分析-linux终端控制台体系分析 第85讲嵌入式linux驱动开发实例分析-linux串口驱动框架分析 第86讲嵌入式linux驱动开发实例分析-串口驱动实例分析(上) 第87讲嵌入式linux驱动开发实例分析-串口驱动实例分析(下) 第88讲嵌入式linux驱动开发实例分析-LCD硬件原理分析 第89讲嵌入式linux驱动开发实例分析-LCD驱动框架分析 第90讲嵌入式linux驱动开发实例分析-LCD驱动程序分析(上) 第91讲嵌入式linux驱动开发实例分析-LCD驱动程序分析(下) 第92讲嵌入式linux驱动开发实例分析-网络协议分析 第93讲嵌入式linux驱动开发实例分析-网络设备驱动核心数据sk_buff分析 第94讲嵌入式linux驱动开发实例分析-网络设备驱动核心数据net_device分析 第95讲嵌入式linux驱动开发实例分析-网络驱动框架分析(上) 第96讲嵌入式linux驱动开发实例分析-网络驱动框架分析(下) 第97讲嵌入式linux驱动开发实例分析-网卡dm9000驱动代码分析(上) 第98讲嵌入式linux驱动开发实例分析-网卡dm9000驱动代码分析(下) 第99讲嵌入式linux驱动开发实例分析-nand flash驱动框架分析 第100讲嵌入式linux驱动开发实例分析-nand flash驱动代码分析 第九阶段:嵌入式linux项目-基于V4L2的视频采集系统 第101讲嵌入式linux高级实例分析-图像采集传输系统项目需求分析 第102讲嵌入式linux高级实例分析-图像采集传输系统硬件原理分析(上) 第103讲嵌入式linux高级实例分析-图像采集传输系统硬件原理分析(下) 第104讲嵌入式linux高级实例分析-V4L2驱动程序架构分析 第105讲嵌入式linux高级实例分析-摄像头接口FIMC驱动代码分析 第106讲嵌入式linux高级实例分析-V4L2驱动核心代码分析 第107讲嵌入式linux高级实例分析-摄像头接口FIMC底层代码分析 第108讲嵌入式linux高级实例分析-i2c设备驱动代码分析 第109讲嵌入式linux高级实例分析-项目应用程序框架分析