想做文件系统的移植好久了,一直没有时间,现在决定把他弄通弄会,一天天的纪录下来吧,
移植的平台是STR710,在小存储器NandFlash(K9F2808UOC)上的移植,先学学文件系统的基础,先了解一下何为文件系统。
硬盘上的数据按照其不同特点大致可分为5个部分:MBR区、DBR区、FAT区、DIR区和DATA区,来分别学习一下:
一、MBR区
MBR区(Main Boot Record),按照字面上的理解即为主引导区,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(便宜0---偏移1BDH),另外的64个字节(偏移1BEH--偏移1FD)交给了DPT(Disk Partition Table硬盘分区表),最后两个字节“55,AA”(偏移1FEH-偏移1FFH)是分区的结束标志,这整个结构构成了硬盘的主引导区。
主引导纪录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.com)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。
图1 SD卡的0扇区(图