1、 背景介绍
板子上的zynq通过emc外接一块nor flash,地址分配如下:
Nor flash的起始地址为0x80000000。当zynq上运行Linux后可以通过对该地址起始的区域进行擦除、读写操作从而对NOR FLASH进行操作。具体参看前一篇博客点击打开链接
不过,这种实现方式虽然简单,但对用户来说使用不方便,没有用户会自己计算需要擦除多少扇区或读写多少扇区的。基于这点考虑,在nor flash上面挂载文件系统就显得格外重要。
2、 MTD介绍
在linux中挂载文件系统需要借助MTD系统,结构图如下:
具体每层的含义以及每层之间是如何交互的可以参看宋宝华的《Linux驱动开发详解》这本书。
对于NOR FLASH来说,MTD往下的层次结构如下:
上图中提到了需要使用CFI