在整个NAND Flash初始化过程中,其主要过程由NAND_Init()函数来完成的,因此以下以NAND_Init()函数作为入口,对NAND Flash虚拟层初始化进行全面分析:
NAND_Init()
NAND_PhyInit()
FMT_Init()
FMT_FormatNand()
LML_Init()
NAND_Init()函数首先调用NAND_PhyInit()函数来对NAND Flash物理结构进行初始化,主要进行硬件初始化和分析并获得NAND Flash的物理结构参数,再调用FMT_Init()函数通过获取到的NAND Flash物理结构参数构建NAND Flash逻辑虚拟结构,然后调用FMT_FormatNand()函数来在NAND Flash中查找或重建索引表,最后调用LML_Init()函数来完成对逻辑虚拟层的初始化,包括申请块索引表缓存、页索引表缓存和缓存页等;