📚 存储芯片驱动开发
从零到一
🎯 30章 · 实战主线
01
存储芯片概述
RAM·ROM·Flash · 市场现状 · 驱动挑战
02
硬件接口基础
SPI / I²C · 并行接口 · NAND对比
03
开发环境搭建
Linux环境 · 交叉编译 · QEMU/开发板
04
Linux内核模块基础
模块结构 · 加载/卸载 · printk · 参数传递
05
字符设备驱动框架
file_operations · 设备号 · cdev · 节点
06
设备树 (Device Tree)
语法 · dts编写 · 解析属性
07
SPI驱动核心
控制器框架 · 设备驱动 · spi_transfer
08
SPI NOR Flash驱动实战
命令集 · jedec_id · 驱动代码
09
SPI NAND Flash驱动实战
协议差异 · 页读写 · 坏块管理
10
I²C EEPROM驱动开发
适配器 · 客户端 · at24c02实例
11
NAND Flash控制器驱动
硬件特性 · ECC校验 · OOB区域
12
MTD子系统架构
MTD层 · mtd_info · 分区机制
13
UBI文件系统与UBIFS
UBI卷 · UBIFS原理 · NAND部署
14
Block层与MMC子系统
MMC/SD协议 · 子系统 · 块设备注册
15
eMMC驱动开发
分区 · HS400 · 命令队列
16
UFS驱动入门
UFS协议栈 · UFSHCI · SCSI映射
17
DMA与数据搬运
DMA引擎 · SG列表 · 存储集成
18
中断处理与并发控制
下半部 · 自旋锁/互斥体 · 死锁避免
19
电源管理
运行时PM · 休眠唤醒 · 低功耗模式
20
调试与性能优化
ftrace · perf · iozone/fio
21
错误注入与可靠性测试
Fault Injection · ECC模拟 · 掉电测试
22
虚拟化与IO虚拟化
virtio-blk · VFIO · QEMU模拟
23
NVMe驱动基础
协议核心 · Admin/IO Queue · PRP/SGL
24
NVMe驱动实战
初始化 · IO提交/完成 · CQ中断
25
OpenChannel SSD架构
物理页寻址 · 多通道 · 主机FTL
26
Zoned Namespace (ZNS)
ZNS原理 · 顺序写入 · zoned block
27
Key-Value存储驱动
KV SSD协议 · 键值接口 · 对比块设备
28
安全特性
AES/XTS · 安全擦除 · TCG Opal
29
内核主线提交指南
代码风格 · patch制作 · 邮件礼仪
30
综合项目:SPI NOR Flash驱动
从零实现 · 提交内核
📌 点击卡片跳转至对应章节 (01.html ~ 30.html)