关键字:嵌入式系统 文件系统 嵌入式文件系统 免费 开源kfs file system embed free open source
1.kfs功能及简介
kfs文件系统主要针对小型的存储器管理,为小型的嵌入式应用提供便捷的存储管理方式,kfs向用户提供类似标准的文件操作接口,非常容易上手。
kfs主要技术参数:
当前最高版本: 1.0.3release
编写语言: C
支持的目标平台: 可移植到几乎所有的目标平台
操作系统依赖性: 不依赖操作系统
支持最大存储器容量: 65536byte
支持的文件数量: 用户自定义(按照用户目标系统的资源定义)
支持的文件名长度: 用户自定义
存储器均匀擦写: 是
是否产生文件碎片: 否
易用性: 非常容易
kfs文件系统是针对小型存储管理,因而在设计时kfs文件系统可以支持的最大存储器容量<64k,但是用户可以非常方便地修改源码,以支持更大的 存储器,但是用户在使用时可能效率会有所下降。其次用户在使用kfs文件系统时建议使用较短的文件名长度(默认5个字节),以获取较好的运行效率。
在使用默认配置时,kfs文件系统生成的目标代码非常短小,我们针对ARM7系统编译生成的代码规模为<10k,RAM占用<100byte。
2.kfs源码下载及源码包中各文件介绍
kfs 1.0.3release源码下载地址:www.embseek.com 下载kfs 1.0.3release
获取源码包后解压到硬盘上,得到如下文件:
kfs.h(kfs核心头文件)
kfs.c(kfs核心源文件)
kfsdev.h(kfs驱动头文件)
kfsdev.c(kfs驱动源文件)
str.h(字符串操作头文件)
str.c(字符串操作源文件)
main.c(kfs应用范例程序)
makefile(make配置文件)
readme.txt(kfs介绍及文档)
3.kfs驱动编写
移植kfs文件系统必须编写针对目标系统存储器基本读写操作的函数接口,用户必须编写两个函数:
/***************************************
function : kfsdev_read
from_add : address of the data read from
readto_buf : buffer for data read to
buf_len : buffer length
description : read data from storage
***************************************/
void kfsdev_read(u8 * from_add,u8 *readto_buf,u8 buf_len);
/***************************************
function : kfsdev_write
writeto_add : address of the data to write to
data_buf : buffer of data to write
buf_len : buffer length
description : write data to storage
***************************************/
void kfsdev_write(u8 * writeto_add,u8 *data_buf,u8 buf_len);
说明: kfsdev_read是读取指定地址存储器内一个字节的数据;
kfsdev_write是向指定地址存储器内写入一个字节的数据。
一般系统中都回提供类似函数,用户只需简单修改函数的参数就可以实现。
源码包中的驱动接口是在PC内存中建立kfs文件系统的驱动接口。实现对指定地址数据的读写。
(by Eagle)