45-功能驱动05:常见Function驱动分析

45-功能驱动05:常见Function驱动分析

专栏总目录

文章目录

    • 概述
    • 一、f_mass_storage.c - 大容量存储
      • 1.1 功能概述
      • 1.2 核心结构体
      • 1.3 SCSI命令处理
      • 1.4 ConfigFS配置
    • 二、f_hid.c - HID人机接口
      • 2.1 功能概述
      • 2.2 核心结构体
      • 2.3 数据收发
      • 2.4 ConfigFS配置
    • 三、f_acm.c - ACM串口
      • 3.1 功能概述
      • 3.2 核心结构体
      • 3.3 类请求处理
      • 3.4 ConfigFS配置
    • 四、三个Function对比
    • 五、知识总结

概述

Linux内核提供了丰富的USB Function驱动实现。本文分析三个最常用的Function驱动:f_mass_storage.c(大容量存储)、f_hid.c(HID人机接口)和f_acm.c(ACM串口)。

源码位置:drivers/usb/gadget/function/

内核版本: Linux 6.1


一、f_mass_storage.c - 大容量存储

1.1 功能概述