嵌入式的系统区(system disk,SD)包括操作系统、驱动、中间件、应用和字库、UI资源等文件,本文讲述SD区的文件系统设计。文件系统最主要的目标是为了实现单个文件的定位和读写。因为一般代码都是不可自修改的,即量产之后不会有写操作,嵌入式系统的SD文件系统就是为了能够简单、高效地定位某个文件和读取文件中的数据。设计原则和要点有以下几方面:
1. 逻辑连续存储单个文件,以扇区对齐。
SD区的单个代码和资源文件一般都不大,所以不必要像fat32文件系统那样用fat表把文件簇串起来,直接逻辑连续地存储起来即可,这样定位也会更加简单快速,当然文件应该以扇区来对齐,方便读取,文件偏移信息也能用扇区数来记录。
2. SD头
这是对整个SD区属性的描述,包括校验码、版本号、日期、OEM厂商等等。有时为了保证知识产权,还会加上一些防止拷贝的加密ID信息。
3. DIR节
DIR节就是目录信息,即每个文件在SD区中的定位信息,是SD文