System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于YAFFS文件系统对硬盘的访问方法技术方案_技高网

基于YAFFS文件系统对硬盘的访问方法技术方案

技术编号:44510893 阅读:0 留言:0更新日期:2025-03-07 13:07
本发明专利技术提供一种基于YAFFS文件系统对硬盘的访问方法,所述YAFFS文件系统包括钩子函数和驱动函数;所述钩子函数接收所述YAFFS文件系统下发的访问指令,调用所述驱动函数;所述钩子函数具有针对nand flash的访问参数,所述驱动函数将所述针对nand flash的访问参数转换为针对硬盘的访问参数,从而将硬盘模拟为nand flash进行访问。本发明专利技术所述基于YAFFS文件系统对硬盘的访问方法,通过驱动函数将针对nand flash的访问参数转换为针对硬盘的访问参数,实现了将硬盘模拟为nand flash进行访问。

【技术实现步骤摘要】

本专利技术涉及通信,具体涉及一种基于yaffs文件系统对硬盘的访问方法。


技术介绍

1、yaffs文件系统是一种针对nand flash(闪存)设计的嵌入式日志型文件系统,具有占用内存少、启动速度快等优点。而针对硬盘,虽然有许多常用的文件系统,如fat32、dosfs、ext3、ext4等,但不具备这些优点。而有些应用场景中,硬件架构中就只有硬盘,并没有配置闪存。此时如果能够基于yaffs文件系统对硬盘进行访问,则也能让这样硬件架构的系统利用上上述优势。


技术实现思路

1、本专利技术的目的在于提供一种基于yaffs文件系统对硬盘的访问方法,能够基于yaffs文件系统对硬盘进行访问。

2、为达上述目的,本专利技术提供如下技术方案:

3、本专利技术提供一种基于yaffs文件系统对硬盘的访问方法,所述yaffs文件系统包括钩子函数和驱动函数;所述钩子函数接收所述yaffs文件系统下发的访问指令,调用所述驱动函数;所述钩子函数具有针对nand flash的访问参数,所述驱动函数将所述针对nandflash的访问参数转换为针对硬盘的访问参数,从而将硬盘模拟为nand flash进行访问。

4、在一实施方式中,所述驱动函数将所述针对nand flash的访问参数转换为针对硬盘的访问参数,包括将针对nand flash的访问nand flash的第几个block的第几个page的多少字节转换为针对硬盘的访问硬盘的第几个sector的多少字节。

5、在一实施方式中,所述驱动函数将所述针对nand flash的访问参数转换为针对硬盘的访问参数是根据以下公式进行转换:

6、startsector = n1,以硬盘中第n1个sector作为所述yaffs文件系统对应的模拟的nand flash的起始位置,n1为大于等于0的整数,根据需要任意设置;

7、blocknum = n2,模拟的nand flash中block的数量,n2为大于等于1的整数,根据需要任意设置;

8、pagenum = n3,模拟的nand flash中每个block中page的数量,n3为大于等于1的整数,根据需要任意设置;

9、datahassectornum = datasize / sectorsize = n4,模拟的nand flash中每个page的data区占用硬盘的sector数量,且向上取整,datasize为模拟的nand flash中每个page的data区的大小,sectorsize为硬盘每个sector的大小;

10、oobhassectornum = oobsize / sectorsize = n5,模拟的nand flash中每个page的oob区占用硬盘的sector数量,且向上取整,oobsize为模拟的nand flash中每个page的oob区的大小;

11、block[i].page[j].data = startsector + i * n3 * (n4 + n5) + j * (n4 +n5),模拟的nand flash中编号为i的block中编号为j的page的data区对应的所在硬盘的起始sector编号,i和j均为大于等于0的整数,且i小于n2,j小于n3;

12、block[i].page[j].oob = startsector + i * n3 * (n4 + n5) + j * (n4 +n5) + n4,模拟的nand flash中编号为i的block中编号为j的page的oob区对应的所在硬盘的起始sector编号。

13、在一实施方式中,n1 = 100,n2 = 1024,n3 = 64,n4 = 4,n5 = 1,datasize =2kbyte,oobsize = 64byte,sectorsize = 512 byte。

14、在一实施方式中,所述驱动函数将所述针对nand flash的访问参数转换为针对硬盘的访问参数是根据以下公式进行转换:

15、startsector = n1,以硬盘中第n1个sector作为所述yaffs文件系统对应的模拟的nand flash的起始位置,n1为大于等于0的整数,根据需要任意设置;

16、blocknum = n2,模拟的nand flash中block的数量,n2为大于等于1的整数,根据需要任意设置;

17、pagenum = n3,模拟的nand flash中每个block中page的数量,n3为大于等于1的整数,根据需要任意设置;

18、datahassectornum = datasize / sectorsize = n4,模拟的nand flash中每个page的data区占用硬盘的sector数量,且向上取整,datasize为模拟的nand flash中每个page的data区的大小,sectorsize为硬盘每个sector的大小;

19、oobhassectornum = oobsize / sectorsize = n5,模拟的nand flash中每个page的oob区占用硬盘的sector数量,且向上取整,oobsize为模拟的nand flash中每个page的oob区的大小;

20、block[i].page[j].data = startsector + i * n3 * n4 + j * n4,模拟的nandflash中编号为i的block中编号为j的page的data区对应的所在硬盘的起始sector编号,i和j均为大于等于0的整数,且i小于n2,j小于n3;

21、block[i].page[j].oob = startsector + n2 * n3 * n4 + reservedsector +i * n3 + j * n5,模拟的nand flash中编号为i的block中编号为j的page的oob区对应的所在硬盘的起始sector编号;reservedsector是全部的data区与全部的oob区之间的空闲区,为大于等于0的整数,可根据需要任意设置。

22、在一实施方式中,所述驱动函数还调用驱动硬盘的操作函数。

23、在一实施方式中,所述钩子函数包括读函数、写函数、擦除函数、坏块管理函数。

24、与现有技术相比,本专利技术的技术方案具有以下有益效果:

25、本专利技术所述基于yaffs文件系统对硬盘的访问方法,通过驱动函数将针对nandflash的访问参数转换为针对硬盘的访问参数,实现了将硬盘模拟为nand flash进行访问。

本文档来自技高网...

【技术保护点】

1.一种基于YAFFS文件系统对硬盘的访问方法,其特征在于,所述YAFFS文件系统包括钩子函数和驱动函数;所述钩子函数接收所述YAFFS文件系统下发的访问指令,调用所述驱动函数;所述钩子函数具有针对nand flash的访问参数,所述驱动函数将所述针对nandflash的访问参数转换为针对硬盘的访问参数,从而将硬盘模拟为nand flash进行访问;

2.根据权利要求1所述的基于YAFFS文件系统对硬盘的访问方法,其特征在于,n1 =100,n2 = 1024,n3 = 64,n4 = 4,n5 = 1,dataSize = 2KByte,oobSize = 64byte,sectorSize = 512 byte。

3.根据权利要求1所述的基于YAFFS文件系统对硬盘的访问方法,其特征在于,所述驱动函数将所述针对nand flash的访问参数转换为针对硬盘的访问参数,包括将针对nandflash的访问nand flash的第几个block的第几个page的多少字节转换为针对硬盘的访问硬盘的第几个sector的多少字节。

4.根据权利要求1所述的基于YAFFS文件系统对硬盘的访问方法,其特征在于,所述驱动函数将所述针对nand flash的访问参数转换为针对硬盘的访问参数或者是根据以下公式进行转换:

5.根据权利要求1所述的基于YAFFS文件系统对硬盘的访问方法,其特征在于,所述驱动函数还调用驱动硬盘的操作函数。

6.根据权利要求1所述的基于YAFFS文件系统对硬盘的访问方法,其特征在于,所述钩子函数包括读函数、写函数、擦除函数、坏块管理函数。

...

【技术特征摘要】

1.一种基于yaffs文件系统对硬盘的访问方法,其特征在于,所述yaffs文件系统包括钩子函数和驱动函数;所述钩子函数接收所述yaffs文件系统下发的访问指令,调用所述驱动函数;所述钩子函数具有针对nand flash的访问参数,所述驱动函数将所述针对nandflash的访问参数转换为针对硬盘的访问参数,从而将硬盘模拟为nand flash进行访问;

2.根据权利要求1所述的基于yaffs文件系统对硬盘的访问方法,其特征在于,n1 =100,n2 = 1024,n3 = 64,n4 = 4,n5 = 1,datasize = 2kbyte,oobsize = 64byte,sectorsize = 512 byte。

3.根据权利要求1所述的基于yaffs文件系统对硬盘的访问方法,...

【专利技术属性】
技术研发人员:陈应强
申请(专利权)人:苏州蓝博控制技术有限公司
类型:发明
国别省市:

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

1