http://edu.51cto.com/course/course_id-379-page-1.html

http://edu.51cto.com/course/course_id-379-page-2.html

课时目录

共13课时

1第一章 Linux设备驱动模型【可试看】 60分钟  
1.1 Linux设备分类;1.2 Sys,总线,设备和驱动;1.3 热插拔;1.4 udev
2第二章 Linux内核模块 49分钟  
2.1 内核编程主要API;2.2 定时器;2.3 中断顶底半部;2.4 Linux内核线程;2.5 IO与内存访问;2.6 DMA与cache一致性
3第三章 Linux内核编程API 95分钟  
3.1 内核模块组成;3.2 编写一个内核模块;3.3 加载和卸载内核模块;3.4 内核模块进入文件系统
4第四章 Linux字符设备驱动 113分钟  
4.1 Linux字符设备驱动结构;4.2 globalmem虚拟设备实例描述;4.3 globalmem设备驱动;4.4 globalmem驱动的编译与加载;4.5 globalmem驱动在用户空间的验证
5第五章 Linux块设备驱动 49分钟  
5.1 并发控制的概念;5.2 何时需要并发控制;5.3 自旋锁;5.4 信号量;5.5 增加并发控制后的globalmem驱动
6第六章 Linux platform驱动 38分钟  
6.1 阻塞与非阻塞I/O6.2 poll操作的概念6.3 何时需要poll操作6.4 等待队列waitqueues6.5 Linux poll操作相关数据结构与函数     6.5.1应用程序中的poll相关数据结构与函数     6.5.2设备驱动中的poll相关数据结构与函数6.6 支持poll操作的globalmem驱动     6.6.1在globalmem驱动中增加poll操作     6.6.2在用户空间验证globalmem设备的poll
7第七章 Linux触摸屏设备驱动 51分钟  
7.1 异步通知的概念;7.2 何时需要异步通知;7.3 Linux异步通知相关数据结构与函数;7.4 支持异步通知的globalmem驱动
8第八章 Linux LCD设备驱动 33分钟  
8.1块设备的I/O操作特点;8.2 Linux块设备驱动结构;8.3块设备驱动注册与注销;8.4块设备的打开与释放;8.5块设备驱动的ioctl函数;8.6块设备I/O请求队列;8.7块设备的读写流程;8.8 NOR和NAND Flash驱动;
9第九章 Linux ALSA设备驱动 35分钟  
9.1 Linux网络设备驱动结构;9.2网络设备驱动注册与注销;9.3网络设备初始化;9.4网络设备打开与释放;9.5数据发送流程;9.6数据接收流程;9.7网络连接状态;9.8参数设置和统计数据;9.9实例:DM9000网卡设备驱动
10第十章 Linux I2C和SPI设备驱动 119分钟  
10.1 input设备驱动架构;10.2 按键设备驱动;10.3 触摸屏设备驱动
11第十一章 Linux网络设备驱动 50分钟  
11.1 framebuffer驱动架构;11.2 LCD的硬件timing;11.3 framebuffer的用户空间编程
12第十二章 Linux内核调试 65分钟  
12.1 OSS架构12.2 ALSA架构12.3 ASoC架构
13第十三章 ARM开发板Linux BSP构建 43分钟  
13.1 I2C主机驱动;13.2 I2C client驱动;13.3 I2C驱动电源管理;13.4 I2C板文件信息

《Linux设备驱动开发详解(第2版)》配套视频登录51cto教育频道的更多相关文章

  1. 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)--宋宝华

    http://blog.csdn.net/21cnbao/article/details/45322629

  2. Linux设备驱动开发详解

    Linux设备驱动开发详解 http://download.csdn.net/detail/wuyouzi067/9581380

  3. Linux设备驱动开发详解-Note(11)--- Linux 文件系统与设备文件系统(3)

    Linux 文件系统与设备文件系统(3) 成于坚持,败于止步 sysfs 文件系统与 Linux 设备模型 1.sysfs 文件系统 Linux 2.6 内核引入了 sysfs 文件系统,sysfs ...

  4. Linux设备驱动开发详解-Note(5)---Linux 内核及内核编程(1)

    Linux 内核及内核编程(1) 成于坚持,败于止步 Linux 2.6 内核的特点 Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面. 1.新的调度器 2.6 ...

  5. linux设备驱动开发详解 笔记

      在目录的 Makefile 中关于 RTC_DRV_S3C 的编译脚本为: obj -$(CONFIG_RTC_DRV_S3C) += rtc-s3c.o 上述脚本意味着如果 RTC_DRV_S3 ...

  6. 《linux设备驱动开发详解》笔记——15 linux i2c驱动

    结合实际代码和书中描述,可能跟书上有一定出入.本文后续芯片相关代码参考ZYNQ. 15.1 总体结构 如下图,i2c驱动分为如下几个重要模块 核心层core,完成i2c总线.设备.驱动模型,对用户提供 ...

  7. 《linux设备驱动开发详解》笔记——14 linux网络设备驱动

    14.1 网络设备驱动结构 网络协议接口层:硬件无关,标准收发函数dev_queue_xmit()和netif_rx();  注意,netif_rx是将接收到的数据给上层,有时也在驱动收到数据以后调用 ...

  8. 《linux设备驱动开发详解》笔记——12linux设备驱动的软件架构思想

    本章重点讲解思想.思想.思想. 12.1 linux驱动的软件架构 下述三种思想,在linux的spi.iic.usb等复杂驱动里广泛使用.后面几节分别对这些思想进行详细说明. 思想1:驱动与设备分离 ...

  9. 《linux设备驱动开发详解》笔记——6字符设备驱动

    6.1 字符设备驱动结构 先看看字符设备驱动的架构: 6.1.1 cdev cdev结构体是字符设备的核心数据结构,用于描述一个字符设备,cdev定义如下: #include <linux/cd ...

随机推荐

  1. Apache Virtual Include

    2.目录支持includes:     <Directory   />             Options   None             //不支持includes       ...

  2. GDB源代码查找路径

    在gdb程序的时候,有时候会发现源代码文件找不到,对于那些带调试信息的系统库或者第三方库,很多时候当你真正想gdb去追他源代码的时候你会发现gdb根本找不到这些源代码路径.这个时候有两种选择: [1] ...

  3. Ninject 自动注册

    首先这个问题我纠结了很久,看到autofac强大的自动注册功能,我感觉Ninject弱爆了,不过Ninject自带属性注册,感觉很方便,所以还在纠结Ninject 传统的绑定方式 public cla ...

  4. php 用于检测是PC还是手机访问

    <?php$ua = strtolower($_SERVER['HTTP_USER_AGENT']);$uachar = "/(iphone|android|phone|mobile| ...

  5. HTML5储存

    1.sessionStorage 特点:关闭浏览器(或标签页)后数据就不存在了.但刷新页面或使用“前进”.“后退按钮”后sessionStorage仍然存在: sessionStorage每个窗口的值 ...

  6. linux 的一些 不常见的指标

    1. linux 的理论 最大用户数   2^32 -1   数据来源  linux就是这个范 (没验证) 2. mv 竟然不能修改文件更新时间

  7. (三大框架SSH)面试题锦集

    http://www.cnblogs.com/dieyf/p/4109233.html

  8. 自动发布工具版本从python2升级成python3后遇到的种种问题(涉及paramiko,Crypto,zipfile等等)

    从在公司实习到正式入职,一直还在被同事使用的是我写的一个自动发布工具.该工具的主要功能是:开发人员给出需要更新的代码包(zip格式),测试人员将该代码包部署到测服,这些代码包和JIRA数据库里的项目信 ...

  9. bzoj 1045: [HAOI2008] 糖果传递 贪心

    1045: [HAOI2008] 糖果传递 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1812  Solved: 846[Submit][Stat ...

  10. 【转】django的ORM操作数据库样例

    这个算是我看到的大全了,希望可以解决明天我希望解决的两个问题... class Blog(models.Model): name = models.CharField(max_length=100) ...