Skip to content

驱动开发待做清单 #54

@Charliechen114514

Description

@Charliechen114514

驱动开发待做清单

我们统计了一下,这个项目仍然缺失的驱动,这里如下列写,后续逐个开sub-issue关联


P1 优先级 - 总线驱动框架

I2C 驱动框架完整教程

  • I2C 协议基础
  • Linux I2C 子系统架构
  • I2C 适配器驱动
  • I2C 设备驱动编写
  • i2c_transfer 与 i2c_master_send/recv API
  • 设备树 I2C 配置
  • I2C 用户态接口:/dev/i2c-*
  • I2C 传感器驱动实例(如 AP3216C)

SPI 驱动框架完整教程

  • SPI 协议基础
  • Linux SPI 子系统架构
  • SPI 主机驱动分析
  • SPI 设备驱动编写
  • spi_transfer 与 spi_sync/async API
  • 设备树 SPI 配置
  • SPI 用户态接口:/dev/spidev*
  • SPI 传感器驱动实例(如 ICM-20608)

UART 驱动开发

  • UART 协议基础
  • Linux UART 驱动框架
  • tty 驱动架构
  • UART 设备树配置
  • RS232/RS485 驱动实例
  • DMA UART 驱动
  • minicom 移植与测试

P1 优先级 - 高级驱动机制

这一部分在内核中虽然已经讲解,但是计划专门拎出来再详细了解

阻塞/非阻塞 I/O 完整教程

  • 阻塞与非阻塞概念
  • 等待队列(wait_queue)原理
  • 等待队列 API 使用
  • 非阻塞 IO 实现
  • poll 与 epoll 机制
  • 多路复用驱动编写
  • 应用层 select/poll/epoll 使用

异步通知 (fasync)

  • 异步通知概念与场景
  • fasync 机制原理
  • fasync 驱动实现
  • 信号处理:SIGIO
  • 应用层异步通知使用
  • 实战案例

Linux 设备模型详解

  • kobject、kset、ktype 体系
  • sysfs 文件系统
  • device 与 driver 结构
  • bus、class、device 之间的关系
  • 设备模型的注册与匹配
  • uevent 机制
  • 热插拔支持

Regmap API 详解

  • Regmap 设计理念
  • Regmap 注册与配置
  • Regmap API 使用
  • Regmap 与 I2C/SPI
  • Regmap 缓存与同步
  • Regmap 调试接口
  • 实战案例

P2 优先级 - 高级外设驱动

DMA 驱动开发

  • DMA 基础概念
  • Linux DMA 子系统
  • dmaengine API
  • DMA 设备树配置
  • DMA 内存分配与映射
  • slave DMA 与 memcpy DMA
  • 驱动中使用 DMA

USB 驱动框架

  • USB 协议基础
  • Linux USB 子系统
  • USB 设备描述符
  • USB 驱动注册与注销
  • USB HOST 驱动实例
  • USB OTG 驱动
  • USB 设备树配置

网络驱动基础

  • 网络协议栈概述
  • PHY 芯片与 MDIO 总线
  • 网络驱动框架
  • net_device 结构
  • ethtool 接口
  • 网络设备树配置
  • fec_netdev_ops 分析
  • 单网卡与多网卡配置

IIO 子系统框架

  • IIO 子系统简介
  • IIO 驱动框架搭建
  • iio_dev 与 iio_chan_spec
  • read_raw 与 write_raw
  • IIO 设备树配置
  • IIO 用户态接口:/dev/iio:device*
  • ICM-20608 IIO 驱动实例

ADC 驱动开发

  • ADC 硬件原理
  • Linux ADC 驱动框架
  • IIO ADC 驱动
  • ADC 设备树配置
  • ADC 用户态读取

P2 优先级 - 其他驱动

  • RTC 驱动开发
  • 看门狗驱动
  • PWM 驱动
  • 背光驱动
  • WIFI 驱动 + wpa_supplicant 移植

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions