




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
znFAT是一种高效、完备、精简且具有高可移植性的嵌入式FAT32文件系统解决方案。可通用于多种嵌入式CPU51、AVR、PIC、ARM、Cortex、DSP、MSP430、scaleS12等等。配置,最简配置情况下,RAM的使用量800~900字节左右。并可选择是否使用OEM字符集,以减少程序体积。支持与Windows、Linux等操作系统兼容的路径表示,路径分隔可使用/或\。支持 用的功能函数的。znFAT.c是对功能函数的具体实现。移植相关:znFAT的移植相关文件。mytype.h中对类型进行重定义。deviceio.c对设备物理扇区读写驱动进行具体实现。config.h对znFAT进行一些配置。其它头文件:cc_macrohznFAT中的功能函数依赖关系的定义。gb2uni.hznFAT函数的。temte.hznFAT中用于实现格式化功能的模板数据。根据硬件平台实际的数据类型对mytypeh中的类型进行重新定义,包括无符号整型、有符号整形与数据的ROM类型。设备初始化、单扇区、单扇区写入、[多扇区连续与写入,多扇区连续清0]修改config.h中的相应宏选择使用哪种实现方式。configh中的宏如下图:如果这个宏被注释,则采用单扇区驱动+循环的实现方式;否则,将采用硬V同理,config.h#defineVVI同理,config.h#defineUSE_MULTISEC_CLEAR)以上就是znFAT的移植方法。znFAT的函数进行裁减,去掉那些用不到的函数。通configh中的“裁减宏”,可以方便得决定某个函数是否加入编译。比如,我们要使用文件的打开、数据写入、文件的关闭、文件系统的刷新这四个功能。那cfh效的减少了内存及ROM资源的使用量。 #define #defineZNFAT_OPEN_FILE//打开文件#defineZNFAT_CLOSE_FILE关闭文件 ////函数原型:UINT8对znFAT中挂接的所有设备进行初始化,如果有任何一个设备初始化失败,znFAT是支持多设备的,即允许多种设备同时挂接在znFAT上,但某一时刻只全局变量Dev_No与pInit_Args,即设备号与指向记录设备文件系统相关参数信息的后者所指向的结构体中的参数将参与此设备上的文件操作过程中的相关计算。因此,此函数将设备格式化为FAT32文件系统。此函数可能会运行较长时间,而且视从ROM中一个字:UINT16PGM_WORD_FUN(ROM_TYPE_UINT16*ptr)从ROM中一个双字:UINT32PGM_DWORD_FUN(ROM_TYPE_UINT32*ptr)不同的CPU上,这些函数的实现可能不一样,比如在51ARM上实现如下:{}{}{}{}{}{}{ }函数原型:UINT8要参数装入到当前所选定的文件系统参数集合结构体中去,以备后面使用。此函数如果012FAT32文件系统。如下程序说明znFAT中文件系统初始化的一般过程:;{ } 。pFI是指向文件信息体的指针;filepath是文件 示要打开文件,0为。文件或被成功打开之后,其相关信息即被存入pFI所指向的文件信息体,以备后面使用。文件或的名字支持通配名,比如/abc/xyz/a*b.txt表示/abc/xyz/abtxt/a/b/t?st.txt/a/b/tst.txt的文件。在通配情n用于选择这些文件或中的第n个。/或\/dir1/dir2/dir1/dir2/znFAT会认为要打开的是/dir1/dir2/下的名字为空的,而非dir2(打开功能常用于检测某个是否存在,或配合通配功能实现对某下所有子的枚举) {{ }{}}它是打开/abc/xyz/dirx子,is_file0,说明要打开的是,而非文件。fileinfo中将记录此的相关信息,如名、时间信息、开始簇等,与文件不同的是,它的大小,即file_size值固定为0。 {{ }}此函数用于对文件数据进行。pFI用于指向文件信息体,以从中获取文件的相关参数;offset为数据的起始位置;len为要读的数据长度;app_Buffer为指向应用数据缓冲区的指针。返回值为实际读到的数据长度。如果要的数据长度len大于文件当前剩余的有效数据长度。比如,从偏移量为40的位置开始100字节的数据, { { {}{}}{}}文件数据(加数据重定向4)基本相同,只不过它带有数据重定向功能,即数据不再放入缓configh中的宏引入到函数之中。这个宏定义将处理函数定义为UART_Send_Byte,即通过串口发送一个字节的函UINT8长度;pbuf是指向应用数据缓冲区的指针。返回值为实际写入的数据量。如果返回值大体积,即4GB。 { { {}{}}{}}此函数用于实现文件的创建。pfi是指向文件信息体的指针,文件创建成功之后,pfn是文件的路径;pdt是指向时间日期结 { {}{}} 的创建。pdp为 的路径,如/abc/xyz/,注意此路径必须以/或\结束;pdt是指向时间日期结构体的指针,作为 structDateTimedt;//日期时间结构体变量UINT8int{znFAT_Device_Init();//设备初始化znFAT_Init();//文件系统初始化dt.date.year=2012;dt.date.month=12;dt.date.day=21;dt.timehour=15;dt.time.min=14;dt.time.sec=35;{printf("suc.tocreate}{printf("failtocreate}return}znFAT的工作模式,在后面会详细介绍。 {{ {}{}}{}};{{}{}} 此函数用于实现对的删除。dirpath为的路径,如/abc/xyz,注意此路径不以/或\结束,最后为要删除的名。要删除的下如果有文件或子,并且有更深子,也会一并删除。 {{}{}}大模式是znFAT中一种独特的数据写入方式1、保证文件数据的连续性2、提高数据。此函数用于为文件预先准备空间,就是在构建一个文件数据的框架,好往里单位为字节。实际建立的空间大小为簇整数倍,即将datalen修正为整簇值。比如datalen为2000,簇大小为1024,则实际为文件建立的空间为2048字节。为文件偏移量,从这个位置开始写数据,offset的值一定是扇区大小整数倍(如果为非512;nSec写入的扇区数;pbuf指向应用数据缓冲区。10)与 { {{}{}}{}}RAM上的数据信息切实的更新到设备上,以保证数据的完整性。如果没有调用这个函数,即使我们向文znFAT必须要调用,这样文件的大小才会被更新。如果我们使用了znFAT的EXB(交换缓冲)RAM上的部分数据被更新到物入速度的低下。但对于RAM资源极为有限的硬件平台,也是没有办法的。【详见znFAT的工作模式】pfi0,将不能再对此文件进行任函数原型:UINT8znFAT、写入数据、删除文件等等操作时,磁盘的相关参数都会发生变化,比如磁盘【对于znFATCloseFile与znFATFlushFS这两个函数,建议,在任何工#define此宏如不被注释,则开启实时更新文件大小的工作模式。即在数据写入、删除等操作中,每一次操作,znFAT都会立即将文件大小的信息更新到物理扇区znFAT#define写入、文件和创建、删除等操作中,会实时更新文件系统的相关信息,比如磁盘的可用空间等。与1)同理,它会降低文件操作的速度。#define内存资源,这就是速度与内存空间之间的平衡。针对于使用者的硬件平台的簇链缓冲,它们通过configh的宏进行控制。独立簇链缓冲alone#define共享簇链缓冲shareda.中的宏注释掉,即工作于共享簇链缓冲模式。在这种工作模式下,#definealone#defineB.shared在全速模式下。此时,数据写入的速度是最快的。】#defineznFAT是支持长文件名的,并专门加入了对中文长文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版让与担保制度风险管理体系合同
- 2025版环保设备监造与节能改造合同
- 2025版特色小镇商铺委托出租运营合作协议
- 2025年度综合性商场展览场地租赁及广告投放合同
- 2025年度学校桶装水项目合作协议范本
- 2025年度房屋买卖分期付款及违约责任协议
- 2025年智能穿戴设备研发与市场推广合作协议
- 2025年度石油产品运输及保险服务合同
- 2025版专业摄像头研发与生产采购合同范本
- 2025版三方公司租赁设备借款合同
- 《语文八下第三单元复习课》课件
- 2025年山西省公务员考试行测试卷历年真题及答案详解(名校卷)
- 2025年消除艾滋病、梅毒、乙肝母婴传播培训考试试题(含答案)
- 2025年部编版语文四年级上册全册单元、期中、期末测试题及答案(共10套)
- 患者期望与实际效果-洞察及研究
- 风力发电税务培训课件
- 2025年长沙市中考物理试卷真题(含答案)
- 检验科生化培训课件
- 数控安全培训课件
- 配电类“两种人”题库(2025年3月修编)改
- 假期返校安全教育
评论
0/150
提交评论