Linux SPI FLASH DRIVER

本文主要介绍了Linux系统中SPI FLASH驱动的三个核心部分:MTD总体框架、SPI框架及数据传输流程。首先,MTD(Memory Technology Device)分为设备节点、MTD设备层、MTD原始设备层和硬件驱动层,提供了方便的存储设备开发接口。接着,介绍了SPI框架,重点关注 spi.c 文件,它是中间层代码,管理SPI总线和设备。最后,数据传输流程涉及mtd_read/mtd_write调用,通过spi_transfer结构体完成数据包装,由SPI master与硬件通信。在调试驱动时需注意SPI Flash地址宽度的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

昨天刚刚把spi flash driver调通,今天准备写一些东西做为这么一段时间对spi flash driver 的一种总结,和备份吧。

 

分三个部分讲:

1、  mtd 总体框架。

2、  spi 的总体框架。

3、  数据传输的流程。

 

1、  mtd 总体框架

mtdMemory Technology Device)是linux专门为linux 移动存储设备设计的一套框架,方便程序员开发。他主要他为四个层次依次为:设备节点、MTD设备层、MTD原始设备层和硬件驱动层。

A、Flash硬件驱动层:硬件驱动层负责驱动Flash硬件。

B、MTD原始设备:原始设备层有两部分组成,一部分是MTD原始设备的通用代码,另一部分是各个特定的Flash的数据,例如分区。

C、MTD设备层:基于MTD原始设备,linux系统可以定义出MTD的块设备(主设备号31)和字符设备(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值