5.2.字符设备驱动基础-linux驱动开发第2部分

本课程带领大家逐渐熟悉内核模块,并且一步步写出一个字符设备驱动程序来控制LED等。

129094人学习

高级17课时2016/05/14更新

二维码下载学堂APP缓存视频离线看

朱有鹏
    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
嵌入式软件工程师完全学习路线图专题-项目实战来袭
嵌入式工程师养成计划系列课程--0.1.嵌入式软件工程师学习指南
90332人学习
¥1.00
嵌入式工程师养成计划系列课程--0.2.朱老师带你学Linux
337141人学习
¥1.00
嵌入式工程师养成计划系列课程--0.3.嵌入式Linux C编程基础
551478人学习
¥1.00
更 多 70 门 课 程
Linux驱动开发视频课程套餐
5.2.字符设备驱动基础-linux驱动开发第2部分
129094人学习
¥49.00
5.3.字符设备驱动高级-linux驱动开发第3部分
55550人学习
¥39.00
5.4.驱动框架入门之LED-Linux驱动开发第4部分
76242人学习
¥49.00
更 多 11 门 课 程
Linux运维学习专题[红帽Linux企业版]
红帽Linux企业版6.4系统管理视频课程
135060人学习
¥399.00
计算机网络原理精讲视频课程
939149人学习
¥119.00
Linux网络服务器实战视频课程Redhat 6.4
60025人学习
¥399.00
更 多 7 门 课 程
标杆徐LinuxSre专题课程《运维实战项目训练营》
Kubernetes/k8s 入门与进阶实践(46讲)
397633人学习
¥799.00
Kubernetes/K8S基于ELKStack日志采集与分析实践
25620人学习
¥299.00
标杆徐LinuxSre运维系列① :CentOS7系统入门与进阶实践(30讲)
152645人学习
¥99.00
更 多 19 门 课 程
标杆徐LinuxSre专题课程《运维实战项目训练营》
Kubernetes/k8s 入门与进阶实践(46讲)
397633人学习
¥799.00
Kubernetes/K8S基于ELKStack日志采集与分析实践
25620人学习
¥299.00
标杆徐LinuxSre运维系列① :CentOS7系统入门与进阶实践(30讲)
152645人学习
¥99.00
更 多 19 门 课 程
  • 课程介绍
  • 课程大纲

适合人群:

本课程是linux驱动开发的第2个课程,只要对linux内核有一定了解,有学习驱动开发意向的同学都可以观看。

你将会学到:

本课程带领大家逐渐熟悉内核模块,并且一步步写出一个字符设备驱动程序来控制LED等。

课程简介:

嵌入式很是当前IT领域较炙手可热的话题。其主要应用领域涵盖与人类相关的各行业:

* 消费电子(手机、平板电脑、游戏机)

* 物联网(智能家居、智慧城市)

* 工业自动化(无人工厂、工业机器人)

巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。


课程特色

*零基础可学习,降低学习门槛。

*深入浅出,通俗易懂。不怕学不会,就怕你不学习。

*思路清晰、语言风趣,对着视频看也不会想睡觉······

*视频 + 文档 + 练习题 + 答疑,多方位保证学习质量。

*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。

*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。


展开更多

课程大纲-5.2.字符设备驱动基础-linux驱动开发第2部分

  • 1

    5.2.1.开启驱动开发之路本节主要是讲述并且实践示范驱动开发的环境搭建、构建内核源码树、常用模块安装卸载命令等。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [37:25]
  • 2

    5.2.2.最简单的模块源码分析1本节主要讲解模块安装和过程,及其和module_init宏的关联,并且重点讲解了模块安装时的安全性兼容性校验问题。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [41:55]
  • 3

    5.2.3.最简单的模块源码分析2本节主要讲解了模块的卸载过程、MODULE_LICENSE等信息添加宏和__init、__exit宏。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [29:59]
  • 4

    5.2.4.最简单的模块源码分析3本节主要分析了printk函数及其打印级别定义,以及模块编译的Makefile文件工作原理。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [41:55]
  • 5

    5.2.5.用开发板来调试模块本节在开发板上搭建模块测试的环境,主要是内核源码树的编译、内核的下载、nfs挂载rootfs的设置,uboot中bootcmd和bootargs的设置等细节。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [36:11]
  • 6

    5.2.6.字符设备驱动工作原理1本节开始讲解字符设备驱动的工作原理,重点是file_operations结构体及整个应用+驱动体系的框架。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [25:12]
  • 7

    5.2.7.字符设备驱动工作原理2本节讲解了register_chrdev函数,并且重点讲解了内核内部对字符设备驱动的管理机制。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [32:35]
  • 8

    5.2.8.字符设备驱动代码实践1本节开始字符设备驱动的编码实践,首先把整体框架理顺,然后构建了file_operations结构体变量,并且填充了open和close方法。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [25:07]
  • 9

    5.2.9.字符设备驱动代码实践2本节进行字符设备驱动的注册,以及编译和实际在开发板上的测试。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [27:04]
  • 10

    5.2.10.应用程序如何调用驱动本节引入设备文件的概念,同时结合前面讲述的主次设备号,综合讲解应用程序对驱动程序的调用等整体流程。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [30:53]
  • 11

    5.2.11.添加读写接口本节开始在我们的驱动中添加write和read方法,并且讲解了copy_from_user和copy_to_user这两个重要函数。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [24:42]
  • 12

    5.2.12.读写接口实践本节完成write和read函数的编写,并且在开发板上进行实践测试。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [23:57]
  • 13

    5.2.13.驱动中如何操控硬件本节研究驱动中对硬件的操作和裸机中的不同,并且重点讲解了linux内核中虚拟地址映射的2种机制和原理。

    [32:38]
  • 14

    5.2.14.静态映射操作LED1本节讲解我们所使用的内核版本中和静态虚拟地址映射有关的文件,并且带大家实际分析这部分代码,以深入理解静态映射表的实质。

    [28:10]
  • 15

    5.2.15.静态映射操作LED2本节使用静态虚拟地址映射方法,参考裸机中的LED控制方法,在驱动中添加LED的操作方法,在对比中让大家理解驱动和裸机的区别。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [26:22]
  • 16

    5.2.16.静态映射操作LED3本节结合应用程序和驱动程序,实现一整套控制LED亮灭的完整体系。让大家初步体会到应用和驱动的配合。

    「仅限付费用户」点击下载“课件_5.2.字符设备驱动基础.txt”

    [28:50]
  • 17

    5.2.17.动态映射操作LED本节介绍并使用动态映射的方式对寄存器进行映射,然后实现应用操作,主要目的是学习动态内核映射的原理和实践方法。

    [29:25]
在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部