一. MTD介绍
嵌入式系统的磁盘分区情况,一般由mtd来表示。
MTD(Memory Technology Device):内存技术设备是Linux的存储设备中的一个子系统。其设计此系统的目的是,对于内存类的设备,提供一个抽象层,一个接口,使得对于硬件驱动设计者来说,只需要去提供最简单的底层硬件设备的读/写/擦除函数就可以了,数据对于上层使用者来说是如何表示的,可以不关心,因为MTD存储设备子系统都帮你做好了。(MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。)
MTD设备通常可分为四层
上到下依次是:设备节点、MTD设备层、MTD原始设备层和硬件驱动层。
二. 查看设别分区情况
1. 查看当前设备分区情况:
dev :分区名称;size:当前分区最大字节空间(十六进制表示)
erasesize:当前分区擦除的最小字节空间(十六进制表示;块大小,linux的flash以块为单位进行擦除)
2. 查看每个分区块数量情况:
每个块的大小在不同系统会有所不同,有的1KB,有的4KB。可用每个分区size除以对应分区块数目计算。
三. 实例
1:计算设备磁盘大小
mtd0: 01000000 00010000 "ALL":注意:size大小是十六进制表示。
1)先由十六进制表示:
2)再由十进制计算
即:此设备磁盘空间为16M
注意:
1. erasesize是本分区最小擦除字节数。
十六进制(10000)->十进制(65536/1024=64块),该分区每次最小擦除64个块。
2. 单位换算:
1)1MB=1024KB=1024*1024B
2)8b(bit/比特位)=1B(Byte/字节)