入职实习第三天

开始对驱动进行入门了解

三种设备驱动分类:

①:字符设备驱动(以字节为单位读写的设备)

②:块设备驱动(通过/dev目录下的文件系统节点来访问)

③:网络设备驱动(能够和其他主机进行交换数据的设备)

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

(1) 在Linux文件系统中,每个文件都用一个struct inode结构体来描述,这个结构体记录了这个文件的所有信息,例如文件类型,访问权限等。

(2) 在linux操作系统中,每个驱动程序在应用层的/dev目录或者其他如/sys目录下都会有一个文件与之对应。

(3) 在linux操作系统中,   每个驱动程序都有一个设备号。

(4) 在linux操作系统中,每打开一次文件,Linux操作系统会在VFS层(虚拟文件系统)分配一个struct file结构体来描述打开的文件。
---------------------  ---------------------  ---------------------  

设备树(Devicetree)

一种描述硬件的数据结构,可以通过bootloader传给内核,内核使用它对硬件进行初始化,好处是使得内核和硬件资源相对独立,不需要太多的硬编码。

设备树的相关名词
1)DTS(device tree source)
.dts文件是一种ASCII文本对Device Tree的描述,位于linux-4.10//arch/arm64/boot/dts目录下。

2)DTC(device tree compiler)
DTC为编译工具,它可以将.dts文件编译成.dtb文件,DTC的源码位于linux-4.10/scripts/dtc目录下。

3)DTB(device tree blob)

DTC编译.dts生成的二进制文件(.dtb),bootloader在加载内核时,也会同时把.dtb加载到内存,后面传递给内核使用。

 

 

你可能感兴趣的:(程序人生)