嵌入式Linux驱动开发

嵌入式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目录结构分析与使用
├ │ ├01 - 从零开始认识开发板1.mp4 │ ├02 - 从零开始认识开发板2.mp4 │ ├03 - 从零开始认识开发板3.mp4 │ ├04 - 从零开始认识开发板4.mp4 │ └05 - 从零开始认识开发板5.mp4 ├ │ ├01 - 说在前面的话1.mp4 │ ├02 - 说在前面的话2.mp4 │ ├03 - 说在前面的话3.mp4 │ ├04 - 说在前面的话4.mp4 │ ├05 - 计算机组成原理概述1 .mp4 │ ├06 - 计算机组成原理概述2 .mp4 │ ├07 - 计算机组成原理概述3 .mp4 │ ├08 - Linux基础及操作系统框架1.mp4 │ ├09 - Linux基础及操作系统框架2.mp4 │ ├10 - Linux基础及操作系统框架3.mp4 │ ├11 - Linux基础及操作系统框架4.mp4 │ ├12 - Shell命令机制1.mp4 │ ├13 - Shell命令机制2.mp4 │ ├14 - Shell命令机制3.mp4 │ ├15 - Shell命令机制4.mp4 │ ├16 - Linux命令类库机制及常用命令_命令操练1.mp4 │ ├17 - 命令操练2.mp4 │ ├18 - 命令操练3.mp4 │ ├19 - 命令操练4.mp4 │ ├20 - 命令操练5.mp4 │ ├21 - 命令操练6.mp4 │ ├22 - 命令操练7.mp4 │ ├23 - 命令操练8.mp4 │ ├24 - 命令操练9.mp4 │ ├25 - 命令操练10.mp4 │ ├26 - 命令操练11.mp4 │ ├27 - Linux应用程序安装及卸载1.mp4 │ ├28 - Linux应用程序安装及卸载2.mp4 │ ├29 - Linux应用程序安装及卸载3.mp4 │ ├30 - Linux应用程序安装及卸载4.mp4 │ ├31 - Linux应用程序安装及卸载5.mp4 │ ├32 - Linux服务程序的安装及配置1.mp4 │ ├33 - Linux服务程序的安装及配置2.mp4 │ ├34 - Linux服务程序的安装及配置3.mp4 │ ├35 - Linux服务程序的安装及配置4.mp4 │ ├36 - Vi的设计思想及使用1.mp4 │ ├37 - Vi的设计思想及使用2.mp4 │ └38 - Vi的设计思想及使用3.mp4 ├ │ ├001 - GNU开发环境基础1.mp4 │ ├002 - GNU开发环境基础2.mp4 │ ├003 - GNU开发环境基础3.mp4 │ ├004 - GNU开发环境基础4.mp4 │ ├005 - GNU开发环境基础_gcc编译1.mp4 │ ├006 - GNU开发环境基础_gcc编译2.mp4 │ ├007 - GNU开发环境基础_gcc编译3.wmv │ ├008 - GNU开发环境基础_gdb.mp4 │ ├009 - GNU开发环境基础_Makefile1.mp4 │ ├10 - GNU开发环境基础_Makefile2.wmv │ ├11 - GNU开发环境基础_Makefile3.wmv │ ├12 - GNU开发环境基础_Autotools1.mp4 │ ├14 - GNU开发环境基础_Autotools3.mp4 │ ├15 - GNU开发环境基础_EclipseForLinux.mp4 │ ├16 - Linux高级程序_IO操作1.mp4 │ ├17 - Linux高级程序_IO操作2.wmv │ ├18 - Linux高级程序_IO操作3.mp4 │ ├19 - Linux高级程序_IO操作4.wmv │ ├20 - Linux高级程序_IO操作5.mp4 │ ├21 - Linux高级程序_IO操作6.wmv │ ├22 - Linux高级程序_IO操作7.mp4 │ ├23 - Linux高级程序_IO操作8.wmv │ ├24 - Linux高级程序_IO操作9.mp4 │ ├25 - Linux高级程序_IO操作_lock1.wmv │ ├26 - Linux高级程序_IO操作_lock2.wmv │ ├27 - Linux高级程序_IO操作_lock3.mp4 │ ├28 - Linux高级程序_IO操作_dir1.mp4 │ ├29 - Linux高级程序_IO操作_dir2.wmv │ ├30 - Linux高级程序_IO操作_dir3.wmv │ ├31 - Linux高级程序_进程管理1.mp4 │ ├32 - Linux高级程序_进程管理2.mp4 │ ├33 - Linux高级程序_进程管理3.wmv │ ├34 - Linux高级程序_进程管理4.wmv │ ├35 - Linux高级程序_进程管理5.mp4 │ ├36 - Linux高级程序_进程管理6.mp4 │ ├37 - Linux高级程序_进程管理_Daemon1.avi │ ├38 - Linux高级程序_进程管理_Daemon2.avi │ ├39 - Linux高级程序_进程管理_Daemon3.mp4 │ ├40 - Linux高级程序_进程间通信_Pipe1.avi │ ├41 - Linux高级程序_进程间通信_Pipe2.mp4 │ ├42 - Linux高级程序_进程间通信_Pipe3.avi │ ├43 - Linux高级程序_进程间通信_Fifo1.mp4 │ ├44 - Linux高级程序_进程间通信_Fifo2.mp4 │ ├45 - Linux高级程序_进程间通信_Signal1.avi │ ├46 - Linux高级程序_进程间通信_Signal2.avi │ ├47 - Linux高级程序_进程间通信_Signal3.mp4 │ ├48 - Linux高级程序_进程间通信_SHM1.avi │ ├49 - Linux高级程序_进程间通信_SHM2.avi │ ├50 - Linux高级程序_进程间通信_SHM3.mp4 │ ├51 - Linux高级程序_进程间通信_MsgQueue1.avi │ ├52 - Linux高级程序_进程间通信_MsgQueue2.avi │ ├53 - Linux高级程序_进程间通信_Semaphore1.mp4 │ ├54 - Linux高级程序_进程间通信_Semaphore2.avi │ ├55 - 线程_Thread1.avi │ ├56 - 线程_Thread2.mp4 │ ├57 - 线程_Thread3.mp4 │ ├58 - 网络编程_Concept1.mp4 │ ├59 - 网络编程_Concept2.avi │ ├60 - 网络编程_Concept3.mp4 │ ├61 - 网络编程_Concept4.mp4 │ ├62 - 网络编程_TCPIP编程基础1.mp4 │ ├63 - 网络编程_TCPIP编程基础2.avi │ ├64 - 网络编程_TCPIP编程基础3.avi │ ├65 - 网络编程_TCPIP编程基础4.mp4 │ ├66 - 网络编程_TCPIP编程基础5.avi │ ├67 - 网络编程_TCPIP编程基础6.mp4 │ ├68 - 网络编程_HTTP原理1.mp4 │ ├69 - 网络编程_HTTP原理2.avi │ ├70 - 网络编程_HTTP原理3.avi │ ├71 - 网络编程_HTTP原理4 .mp4 │ ├72 - 网络编程_HTTP原理5.mp4 │ ├73 - 网络编程_HTTP原理6.mp4 │ ├74 - 网络编程_Socket内核跟踪1.avi │ └75 - 网络编程_Socket内核跟踪2.mp4 ├ │ ├01 - ARM准备工作及熟悉开发板1.mp4 │ ├02 - ARM准备工作及熟悉开发板2.mp4 │ ├03 - ARM准备工作及熟悉开发板3.avi │ ├04 - ARM准备工作及熟悉开发板4.mp4 │ ├05 - 原理图及路图1.mp4 │ ├06 - 原理图及路图2.avi │ ├07 - 原理图及路图3.mp4 │ ├08 - ARM世界 .mp4 │ ├09 - 开发环境搭建1.mp4 │ ├10 - 开发环境搭建2.avi │ ├100 - 中断流程代码1.mp4 │ ├101 - 中断流程代码2.avi │ ├102 - 中断流程代码3.mp4 │ ├103 - IIC协议介绍1.avi │ ├104 - IIC协议介绍2.mp4 │ ├105 - IIC协议介绍3.mp4 │ ├106 - IIC协议介绍4.avi │ ├107 - IIC协议介绍5.mp4 │ ├108 - IIC协议介绍6.mp4 │ ├109 - watchdog介绍1.mp4 │ ├11 - 补充Linux装Sourceinsight.mp4 │ ├110 - watchdog介绍2.mp4 │ ├111 - RTC介绍.avi │ ├112 - PWM介绍1.mp4 │ ├113 - PWM介绍2.avi │ ├114 - PWM介绍3.mp4 │ ├115 - ADC介绍1.avi │ ├116 - ADC介绍2.mp4 │ ├117 - ARM硬件接口项目介绍1.avi │ ├118 - ARM硬件接口项目介绍2.mp4 │ ├119 - ARM硬件接口项目介绍3.avi │ ├12 - 补充MiniTool烧写开发板-11.30更新工具.avi │ ├120 - ARM硬件接口项目介绍4.mp4 │ ├121 - ARM硬件接口项目介绍5.avi │ ├122 - ARM硬件接口项目介绍6.mp4 │ ├123 - ARM硬件接口项目介绍7.mp4 │ ├13 - ARM体系结构-学习方法.mp4 │ ├14 - ARM体系结构-处理器和名词1.mp4 │ ├15 - ARM体系结构-处理器和名词2.avi │ ├16 - ARM体系结构-工具和交叉工具链.mp4 │ ├17 - 处理器式和片内寄存器1.avi │ ├18 - 处理器式和片内寄存器2.mp4 │ ├19 - 处理器式和片内寄存器3.avi │ ├20 - 处理器式和片内寄存器4.mp4 │ ├21 - ARM汇编寻址式1.mp4 │ ├22 - ARM汇编寻址式2.avi │ ├23 - ARM汇编寻址式3.mp4 │ ├24 - ARM汇编算数操作1.mp4 │ ├25 - ARM汇编算数操作2.avi │ ├26 - ARM汇编算数操作3.mp4 │ ├27 - ARM汇编算数操作4.mp4 │ ├28 - ARM汇编内存操作1.avi │ ├29 - ARM汇编内存操作2.mp4 │ ├30 - 跳转指令及其它1.mp4 │ ├31 - 跳转指令及其它2.avi │ ├32 - ARM汇编伪指令1.mp4 │ ├33 - ARM汇编伪指令2.avi │ ├34 - ARM汇编伪指令3.avi │ ├35 - ARM汇编伪指令4.mp4 │ ├36 - 混合编程1.avi │ ├37 - 混合编程2.mp4 │ ├38 - ARM硬件基础概述1.avi │ ├39 - ARM硬件基础概述2 .mp4 │ ├40 - ARM硬件基础概述3 .mp4 │ ├41 - ARM硬件基础-SIMD&NEON;.mp4 │ ├42 - ARM硬件基础-Cache1.avi │ ├43 - ARM硬件基础-Cache2.mp4 │ ├44 - ARM硬件基础-MMU1.mp4 │ ├45 - ARM硬件基础-MMU2(1).mp4 │ ├45 - ARM硬件基础-MMU2.mp4 │ ├46 - ARM硬件基础-MMU3.mp4 │ ├47 - ARM异常及中断1 .avi │ ├48 - ARM异常及中断2.mp4 │ ├49 - 第一个裸板试验1.avi │ ├50 - 第一个裸板试验2.mp4 │ ├51 - S5PV210启动原理1.mp4 │ ├52 - S5PV210启动原理2.avi │ ├53 - ARM硬件接口GPIO1.mp4 │ ├54 - ARM硬件接口GPIO2.avi │ ├55 - ARM硬件接口GPIO3.mp4 │ ├56 - ARM硬件接口GPIO4.avi │ ├57 - ARM硬件接口GPIO5.mp4 │ ├58 - ARM硬件接口开发前言.mp4 │ ├59 - ARM硬件接口开发简介.avi │ ├60 - 确定开发板资源1.avi │ ├61 - 确定开发板资源2.mp4 │ ├62 - 确定开发板资源3.avi │ ├63 - 确定开发板资源4.mp4 │ ├64 - 驱动开发板资源5.avi │ ├65 - 驱动开发板资源6.mp4 │ ├66 - 驱动开发板资源7.mp4 │ ├67 - bootloader概述1.mp4 │ ├68 - bootloader概述2 .avi │ ├69 - bootloader概述3.avi │ ├70 - bootloader概述4.mp4 │ ├71 - bootloader概述5.mp4 │ ├72 - C5工程搭建Makefile1.mp4 │ ├73 - C5工程搭建Makefile2.avi │ ├74 - C5工程搭建Makefile3.mp4 │ ├75 - 工程搭建链接脚本录像1.mp4 │ ├76 - 工程搭建链接脚本录像2.avi │ ├77 - 工程搭建C代码点灯录像1.avi │ ├78 - 工程搭建C代码点灯录像2.avi │ ├79 - 工程搭建C代码点灯录像3.mp4 │ ├80 - 通信型介绍录像1.mp4 │ ├81 - 通信型介绍录像2.avi │ ├82 - UART协议介绍录像1.mp4 │ ├83 - UART协议介绍录像2.avi │ ├84 - UART协议介绍录像3.avi │ ├85 - UART控制器介绍录像1.mp4 │ ├86 - UART控制器介绍录像2.mp4 │ ├87 - 通过串口发送一个字符录像1.mp4 │ ├88 - 通过串口发送一个字符录像2.avi │ ├89 - 通过串口发送一个字符录像3.avi │ ├90 - 通过串口发送一个字符录像4.mp4 │ ├91 - 通过串口发送一个字符串1.avi │ ├92 - 通过串口发送一个字符串2.mp4 │ ├93 - 中断介绍1.avi │ ├94 - 中断介绍2.mp4 │ ├95 - 中断介绍3.avi │ ├96 - 中断介绍4.mp4 │ ├97 - 中断初始化代码1.mp4 │ ├98 - 中断初始化代码2.avi │ └99 - 中断初始化代码3.mp4 ├ │ ├01 - 开篇的话1.mp4 │ ├02 - 开篇的话2.mp4 │ ├03 - 开篇的话3.mp4 │ ├04 - 内核开发初探1.mp4 │ ├05 - 内核开发初探2.avi │ ├06 - 内核开发初探3.mp4 │ ├07 - Linux内核的基本概念1.mp4 │ ├08 - Linux内核的基本概念2.avi │ ├09 - Linux内核的基本概念3.avi │ ├10 - Linux内核的基本概念4.mp4 │ ├11 - Linux内核的基本概念5.mp4 │ ├12 - Linux驱动程序开发基础1.avi │ ├13 - Linux驱动程序开发基础2.mp4 │ ├14 - Linux驱动程序开发基础3.mp4 │ ├15 - Linux驱动程序开发基础4.avi │ ├16 - Linux驱动程序开发基础5.mp4 │ ├17 - LED设备驱动1.mp4 │ ├18 - LED设备驱动2.mp4 │ ├19 - LED设备驱动3.avi │ ├20 - LED设备驱动4.mp4 │ ├21 - LED设备驱动5.avi │ ├22 - RTC驱动1.mp4 │ ├23 - RTC驱动2.avi │ ├24 - RTC驱动3.avi │ ├25 - RTC驱动4.mp4 │ ├26 - 容触摸屏驱动1.avi │ ├28 - 容触摸屏驱动3.avi │ ├29 - 容触摸屏驱动4.mp4 │ ├30 - 网络设备驱动1.mp4 │ ├31 - 网络设备驱动2.avi │ ├32 - 网络设备驱动3.avi │ ├33 - 网络设备驱动4.mp4 │ ├34 - 网络设备驱动5.avi │ ├35 - 网络设备驱动6.mp4 │ ├36 - 声卡驱动1.mp4 │ ├37 - 声卡驱动2.avi │ ├38 - 声卡驱动3.avi │ ├39 - 声卡驱动4.mp4 │ ├40 - 声卡驱动5.mp4 │ ├41 - 声卡驱动6.mp4 │ ├42 - LCD驱动1.mp4 │ ├43 - LCD驱动2.mp4 │ ├44 - LCD驱动3.avi │ ├45 - LCD驱动4.mp4 │ ├46 - LCD驱动5.avi │ ├47 - LCD驱动6.avi │ ├48 - LCD驱动7.mp4 │ ├49 - LCD驱动8.mp4 │ ├50 - LCD驱动9.avi │ ├51 - LCD驱动10.mp4 │ ├52 - nandflash驱动1.mp4 │ ├53 - nandflash驱动2.mp4 │ ├54 - nandflash驱动3.avi │ ├55 - nandflash驱动4.avi │ ├56 - nandflash驱动5.mp4 │ ├57 - nandflash驱动6.mp4 │ └58 - 驱动课程总结提高.mp4 ├ │ ├linux-3.0.8.tiny210.ok.tar │ ├readme.txt │ ├Sundy-AndroidLowLevel.mmap │ ├tiny210.uboot-2011.06.last.tar │ ├tiny210.uboot-2011.06.ok.tar │ ├底层课程资料包.zip │ ├ │ │ ├EABI-4.3.3_EmbedSky_20100610.tar.bz2 │ │ ├gdb-6.8a.tar.bz2 │ │ ├hypertrm超级终端支持Win7.rar │ │ ├putty.zip │ │ └SecureCRT.rar
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值