04 Linux驱动流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04 Linux驱动流程相关的知识,希望对你有一定的参考价值。

一、Linux 支持的设备类型

(1) 字符设备 : 每次按字节访问

(2) 块设备 : 每次按块访问(需要文件系统)

(3) 网络设备 : 支持网络通信

注意: 字符设备和块设备在/dev/目录有对应的设备文件与他们的驱动程序对应

    网络设备在Linux系统中,其驱动程序对应的网络接口(ifconfig命令查看)

二、Linux应用程序与驱动的关系

技术分享

 三、Linux 驱动添加流程 

(1) 描述设备 =>用结构体分装{自己的特性 + 通用的部分}

(2) 初始化设备 =>内核提供 (通用部分),初始化接口函数

(3) 注册设备 =>内核提供

我们添加设备的时候,只需要告诉内核,你的设备是什么类型和你的设备操作方法。

四、设备号

主设备号(12bit) + 次设备号(20bit)

主设备号:驱动程序;次设备号:代表同一类的设备中哪一个设备

例如:4个LED灯,只需要一个驱动程序,通过次设备号区分是那一个LED.

mknod /dev/led c 252 0 =>在/dev目录生成一个led的设备文件,这个文件中记录主设备号是252

以上是关于04 Linux驱动流程的主要内容,如果未能解决你的问题,请参考以下文章

Linux——Linux驱动之总线设备驱动注册流程分析及详细操作步骤(上)

Linux——Linux驱动之总线设备驱动注册流程分析及详细操作步骤(上)

Linux驱动开发笔记:helloworld驱动源码编写makefile编写以及驱动编译基本流程

Linux——Linux驱动之总线设备驱动注册流程分析及详细操作步骤(下)

Linux——Linux驱动之总线设备驱动注册流程分析及详细操作步骤(下)

Linux——Linux驱动之杂项设备(基本概念注册流程杂项设备的驱动编写)