【Orange Pi 5 Linux 5.x 内核编程】-字符设备文件操作基础

字符设备文件操作基础

文章目录

  • 字符设备文件操作基础
    • 1、cdev结构
    • 2、文件结构
      • 2.1 read操作
      • 2.2 write操作
      • 2.3 ioctl操作
      • 2.4 open操作
      • 2.5 release(close)操作
    • 3、简单设备文件操作实现
    • 4、驱动验证

在前面的文章中,介绍了设备的主要、次要编号和设备文件,应用程序如果需要与硬件通信,这就涉及到对设备文件的打开、读、写、关闭等等操作。毕竟,在Linux中,一切旨为文件。本文将重点介绍这些操作。

1、cdev结构

在 Linux 内核中,struct inode 结构用于表示文件。 因此,它不同于表示打开文件描述符的文件结构。 可以有许多文件结构代表单个文件上的多个打开描述符,但它们都指向单个 inode 结构。

inode 结构包含有关文件的大量信息。 作为一般规则,cdev 结构对于编写驱动程序代码很有用:

struct cdevinode 结构的元素之一。 您可能已经知道,内核在内部使用 inode 结构来表示文件。 struct cdev 是表示字符设备的内核内部结构。 当 inode 引用字符设备文件时,该字段包含指向该结构的指针。

struct cdev</
上一篇:高效工作从这五款小众神器开始


下一篇:Linux:文件系统基础命令扫盲