一种基于FAT16技术实现文件动态管理的方法和系统技术方案

技术编号:20916006 阅读:55 留言:0更新日期:2019-04-20 09:35
本申请公开了一种基于FAT16技术实现文件动态管理的方法和系统,该方法包括:对无操作系统的嵌入式设备中的flash,进行FAT16文件系统的初始化以及FAT16文件系统结构体的初始化;对所获取的shell命令进行解析,并将解析后的参数传送至FAT16文件系统;根据解析后的参数,FAT16文件系统的功能函数将flash公共区的FAT表、根目录以及flash数据区的文件读取到指定的缓冲区中;对缓冲区进行读写操作。本申请中的系统包括初始化模块、命令解析模块、缓冲区指定模块和读写模块。通过本申请能够实现无操作系统的嵌入式设备中文件动态管理的灵活性,并大大提高磁盘空间的利用率。

A Method and System of File Dynamic Management Based on FAT16 Technology

This application discloses a method and system for realizing dynamic file management based on FAT16 technology. The method includes: initializing flash in embedded devices without operating system, initializing FAT16 file system and FAT16 file system structure; parsing shell commands obtained, and transferring parsed parameters to FAT16 file system; and according to the parsed data, initializing FAT16 file system. The function of FAT16 file system reads FAT tables, root directories and files of flash common area into the specified buffer, and reads and writes the buffer. The system in this application includes initialization module, command parsing module, buffer assignment module and read-write module. Through this application, the flexibility of dynamic file management in embedded devices without operating system can be realized, and the utilization of disk space can be greatly improved.

【技术实现步骤摘要】
一种基于FAT16技术实现文件动态管理的方法和系统
本申请涉及嵌入式设备
,特别是涉及一种基于FAT16技术实现文件动态管理的方法和系统。
技术介绍
嵌入式设备包括无操作系统的嵌入式设备,无操作系统的嵌入式设备通常以单片机或ARM为CPU。随着嵌入式系统的发展,用户对于无操作系统的嵌入式设备中的存储系统要求也越来越高。如何在嵌入式设备中实现文件的动态管理,使得嵌入式设备中的存储系统既能够存储大量数据,又能够确保数据的安全,是个重要问题。目前在无操作系统的嵌入式设备中进行文件存储的方法,通常是手动指定每个文件的存储地址和长度,即:直接在宏定义中指定每个文件的起始扇区,而且每个文件必须存储在连续的扇区中。然而,目前在无操作系统的嵌入式设备中进行文件存储的方法中,由于在宏定义中指定了每个文件的起始扇区,且文件存储在连续的扇区中,使得文件的地址固定下来。后期对文件进行升级时,如果升级后的文件变小,则在空余的扇区中容易产生碎片,如果升级后的文件变大,则需要占用其他扇区,进而需要把其他所有文件的存储地址修改一遍。因此,目前在无操作系统的嵌入式设备中进行文件存储的方法不利于磁盘空间的充分利用本文档来自技高网...

【技术保护点】
1.一种基于FAT16技术实现文件动态管理的方法,应用于无操作系统的嵌入式设备中,其特征在于,所述方法包括:对嵌入式设备中的flash进行FAT16文件系统的初始化以及FAT16文件系统结构体的初始化,所述FAT16文件系统包括:API接口层、中间转换层和介质驱动层;对所获取的shell命令进行解析,并将解析后的参数传送至FAT16文件系统;根据解析后的参数,所述FAT16文件系统的功能函数将flash公共区的FAT表、根目录以及flash数据区的文件读取到指定的缓冲区中;对所述缓冲区进行读写操作。

【技术特征摘要】
1.一种基于FAT16技术实现文件动态管理的方法,应用于无操作系统的嵌入式设备中,其特征在于,所述方法包括:对嵌入式设备中的flash进行FAT16文件系统的初始化以及FAT16文件系统结构体的初始化,所述FAT16文件系统包括:API接口层、中间转换层和介质驱动层;对所获取的shell命令进行解析,并将解析后的参数传送至FAT16文件系统;根据解析后的参数,所述FAT16文件系统的功能函数将flash公共区的FAT表、根目录以及flash数据区的文件读取到指定的缓冲区中;对所述缓冲区进行读写操作。2.根据权利要求1所述的一种基于FAT16技术实现文件动态管理的方法,其特征在于,所述对嵌入式设备中的flash进行FAT16文件系统的初始化以及FAT16文件系统结构体的初始化,包括:将FAT16文件系统中间转换层的操作函数映射至与所述操作函数相匹配的结构体参数;对FAT16文件系统的信息结构体fs_info的参数赋值,所述信息结构体fs_info的参数包括:每个簇的扇区数目、每扇区的字节数以及FAT起始扇区。3.根据权利要求1所述的一种基于FAT16技术实现文件动态管理的方法,其特征在于,对所述缓冲区进行读写操作的方法,包括:判断所述shell命令中是否包含变量;如果是,对所述缓冲区进行读写操作,并将读写操作后的缓冲区回写至flash;如果否,直接对所述缓冲区进行读操作。4.根据权利要求3所述的一种基于FAT16技术实现文件动态管理的方法,其特征在于,所述对所述缓冲区进行读写操作,并将读写操作后的缓冲区回写至flash,包括:对所述缓冲区内的任一文件分配一fd号,所述fd号与结构体fd_table[fd]一一对应,且所述结构体fd_table[fd]用于实时记录所述任一文件的所有信息;对所述缓冲区进行读写操作,并根据读写操作的信息同步更新FAT表和根目录缓冲区;调用FAT16_close(intfd)函数,将FAT表和根目录缓冲区写回flash,并清空fd_table[fd]和缓冲区。5.根据权利要求1-4中所述的一种基于FAT16技术实现文件动态管理的方法,其特征在于,根据解析后的参数,所述FAT16文件系统的功能函数将flash公共区的FAT表、根目录以及数据区读取到指定的缓冲区中之前,所述方法还包括:判断是否首次调用FAT16文件系统的功能函数;...

【专利技术属性】
技术研发人员:聂丽红严丽孔维宾
申请(专利权)人:山东华辰泰尔信息科技股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1