Linux-Flash驱动(4)-MTD系统架构
来源:互联网 发布:温度控制pid算法c程序 编辑:程序博客网 时间:2024/05/16 09:27
1、什么是MTD系统架构
MTD(memory technology device 存储 技术设备 ) 是用于访问 memory 设备( ROM 、 flash )的 linux 的子系统。 MTD 的主要目的是为了使新的 memory 设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。 MTD 的所有源代码在 /drivers/mtd 子目录下 。
FLASH在嵌入式系统中是必不可少的,它是bootloader、linux内核和文件系统的最佳载体。在Linux内核中引入了MTD子系统为NORFLASH和NAND FLASH设备提供统一的接口,从而使得FLASH驱动的设计大为简化。
引入MTD系统后,它把FLASH采用了一个分区的技术,比如说4M存放bootload,10M存放内核,20M存放文件系统,在我们的开发板上输入:
#cat /proc/mtd/
可以查看到,果然有几个mtd的分区,mtd0:uboot,mtd1:kernel,mtd2:Yaffs2文件系统。
在这里每一个分区都是一个块设备,我们来查看这些分区对应哪些块设备:
#ls -l /dev/mtd*
可以看到b开头的设备都是mtd分区对应的块设备
2、MTD架构分析
在MTD系统中分为4层,前三层Linux内核已经实现好了,最后一层Flash驱动层是需要开发者实现的。
当没有MTD子系统时,开发者在Flash驱动中需要实现注册,读写,纠错等功能,如果有众多的FLASH设备,分别实现读写、纠错等程序是十分艰难的。于是把这些操作吸取出来的共性交给Linux内核去完成,Flash驱动只实现特定的硬件操作,这样Flash驱动不仅简单、而且规范。这就是MTD子系统产生的原因。
阅读全文
0 0
- Linux-Flash驱动(4)-MTD系统架构
- mtd flash 驱动
- MTD flash 驱动
- Linux-Flash驱动(1)-块设备系统架构
- Linux MTD驱动下的Nand Flash驱动中 mtd->write_oob和ecc.write_oob
- Linux下读写FLASH驱动——MTD设备分析
- Linux下读写FLASH驱动——MTD设备分析
- Linux下读写FLASH驱动——MTD设备分析
- Linux下读写FLASH驱动——MTD设备分析
- Linux下读写FLASH驱动——MTD设备分析
- MTD系统架构和yaffs2使用、Nandflash驱动设计
- MTD设备驱动--NAND flash
- LINUX MTD 驱动
- linux驱动子系统--MTD
- linux下MTD驱动
- Linux mtd 驱动
- linux MTD架构
- 高手进阶 Linux系统下MTD/CFI驱动介绍
- 从零开始学git 速成
- FreeRTOS介绍
- CodeForces 822A I'm bored with life
- Python数据分析包——NumPy(Numerical Python)
- shell 命令管理tomcat
- Linux-Flash驱动(4)-MTD系统架构
- good job
- 自定义view之圆形进度条
- Windows下MSYS2中编译OpenBLAS过程记录
- [lintcode]二叉树的最大深度
- osg坐标系理解
- HttpUrlconnction_post
- PIMPL设计模式的理解和使用
- Zepto.js 之一步一步看源码(二)