版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
freescaleS12等等。配置,最简配置情况下,RAM的使用量约在800~900字节左右。并可选择是否使用OEM字符集,以减少程序体积。支持与Windows、Linux等操作系统兼容的路径表示,路径分隔可使用/或\。支持用的功能函数的声明。znFAT.c是对功能函数的具体实现。移植相关:znFAT的移植相关文件。mytype.h中对类型进行重定义。deviceio.c对存储设备物理扇区读写驱动进行具体实现。config.h对znFAT进行一些配置。其它头文件:cc_macrohznFAT中的功能函数依赖关系的定义。gb2uni.hznFAT函数的声明。template.hznFAT中用于实现格式化功能的模板数据。符号整形与固化数据的ROM类型。设备初始化、单扇区读取、单扇区写入、[多扇区连续读取与写入,多扇区连续清0]znFATDeviceInit修改config.h中的相应宏选择使用哪种实现方式。configh中的宏如下图:V同理,config.h#defineVVI同理,config.h#defineUSE_MULTISEC_CLEAR)以上就是znFAT的移植方法。znFAT的函数进行裁减,去掉那些用不到的函数。通configh中的“裁减宏”,可以方便得决定某个函数是否加入编译。config.h文件中的“裁减宏”将这几个函数的注释去掉,而注释掉其它没有用到的效的减少了内存及ROM资源的使用量。//#define #define #defineZNFAT_OPEN_FILE//打开文件#defineZNFAT_CLOSE_FILE关闭文件//#define //////函数原型:UINT8structznFAT_InitArgsznFAT是支持多设备的,即允许多种存储设备同时挂接在znFAT上,但某一时刻只全局变量Dev_No与pInit_Args,即设备号与指向记录存储设备文件系统相关参数信息的后者所指向的结构体中的参数将参与此存储设备上的文件操作过程中的相关计算。因此,函数原型:UINT8znFAT_Make_FS(UINT32ttsec,UINT16FAT32文件系统。此函数可能会运行较长时间,而且视ROM中读取一个字:UINT16PGM_WORD_FUN(ROM_TYPE_UINT16*ptr)不同的CPU上,这些函数的实现可能不一样,比如在51ARM上实现如下:{}{}{}{}{}{}{}函数原型:UINT8012FAT32文件系统。如下程序说明znFAT中文件系统初始化的一般过程:;{ }INT8*filepath,UINT32n,UINT8此函数用于打开文件或目录。pFIfilepath是文件或目录/a/b/tst.txt的文件。在通配情n个。/或\结束。比如要打开/dir1/dir2/dir1/dir2/znFAT会认为要打开的是/dir1/dir2/下的名字dir2(打开目录功能常用于检测某个目录是否存在,或配合通配功能 {{ }{}}非文件。fileinfo中将记录此目录的相关信息,如目录名、时间信息、开始簇等,与文件不同的是,它的大小,即file_size值固定为0。 {{ }}UINT32offset,UINT32len,UINT8此函数用于对文件数据进行读取。pFI用于指向文件信息体,以从中获取文件的相关参数;offset为读取数据的起始位置;len为要读的数据长度;app_Buffer为指向应用len大于文40100字节的数据, { { ){}{}}{}}(加数据重定向UINT32offset,UINT324)基本相同,只不过它带有数据重定向功能,即数据不再放入缓configh中的宏引入到函数之中。这个宏定义将处理函数定义为UART_Send_Byte,即通过串口发送一个字节的函UINT8长度;pbuf是指向应用数据缓冲区的指针。返回值为实际写入的数据量。如果返回值大体积,即4GB。 { { {}{}}{}}structDateTime此函数用于实现文件的创建。pfi是指向文件信息体的指针,文件创建成功之后,pfn是文件的路径;pdt是指向时间日期结 { {}{}}目录创建此函数用于目录的创建。pdp为目录的路径,如/abc/xyz/,注意此路径必须以/或\结束;pdt是指向时间日期结构体的指针,作为目录的创建时间。structDateTimedt;//日期时间结构体变量UINT8int{znFAT_Device_Init();//存储设备初始化znFAT_Init();//文件系统初始化dt.timehour=15;dt.time.min=14;dt.time.sec=35;{printf("suc.tocreate}{printf("failtocreate}return}znFAT的工作模式,在后面会详细介绍。 {{ {}{}}{}}此函数用于文件的删除。filepath;{{}{}}此函数用于实现对目录的删除。dirpath为目录的路径,如/abc/xyz,注意此路径不 {{}{}}UINT32大模式是znFAT1、保证文件数据的连续性2、提高单位为字节。实际建立的存储空间大小为簇整数倍,即将datalen修正为整簇值。比如datalen200010242048字节。UINT32nSec,UINT8为文件偏移量,从这个位置开始写数据,offset的值一定是扇区大小整数倍(如果为非512;nSec写入的扇区数;pbuf指向应用数据缓冲区。10)与 { {{}{}}{}}RAM上的数据信息切znFATRAM上的部分数据被更新到物入速度的低下。但对于RAM资源极为有限的硬件平台,也是没有办法的。【详见znFAT的工作模式】pfi0,将不能再对此文件进行任函数原型:UINT8znFAT在磁盘上创建文件、创建znFATCloseFileznFATFlushFS这两个函数,振南建议,在任何工#define此宏如不被注释,则开启实时更新文件大小的工作模式。即在数据写入、删除等操作中,每一次操作,znFAT都会立即将文件大小的信息更新到物理扇区znFAT#define磁盘的可用空间等。与1)同理,它会降低文件操作的速度。#define簇链缓冲,它们通过configh的宏进行控制。独立簇链缓冲alone#define#defineCCCB_LEN共享簇链缓冲shareda.中的宏注释掉,即工作于共享簇链缓冲模式。在这种工作模式下,#define#defineB.shared在全速模式下。此时,数据写入的速度是最快的。】#defineznFAT是支持长文件名的,并专门加入了对中文长文件名的支持(内含GB2312#defineMAX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应链金融数字化服务平台建设实施方案
- 智慧能源合作开发协议
- 营销活动策划及执行说明
- 2024年标准派遣工作协议模板版B版
- 在线音乐使用授权及免责协议
- 卫生健康服务合同
- 初中生地理环境问题探讨故事观后感
- 2024年酒店客房通风系统安装与维护合同正规范本6篇
- 2024宅基地施工期间施工人员住宿补贴合同3篇
- 企业员工绩效管理规章制度
- 国家开放大学1116《机电控制工程基础》
- 程琳-职业生涯分析与规划
- 仁爱英语九年级总复习教案
- 心电图基本知识PPT
- GB/T 5130-1997电气用热固性树脂工业硬质层压板试验方法
- FZ/T 01041-2014绒毛织物绒毛长度和绒毛高度的测定
- 中小学食材配送中心项目建设可行性研究报告
- 人体解剖上肢血管
- 精品解析浙教版科学 九年级上册 3.43 简单机械之机械效率 同步练习
- 夸美纽斯-大教学论-文本细读
- 日立多联机系统调试培训教材
评论
0/150
提交评论