kfs嵌入式文件系统应用指南(一)

      摘要: kfs 文件系统来源于 EmbSeek 团队一个基于 ARM7 的嵌入式控制器项目,是一个免费的开源的小型嵌入式文件系统。 kfs 嵌入式文件系统给出了一种管理小容量( <64K )存储器的便捷方法,可以应用于使用 EEPROM FLASH 作为存储介质的嵌入式系统中,具有良好的文件操作接口,能保证存储器的均匀擦写,且代码短小 ,在小型的文件管理应用中具有很大的优势。本文介绍了 kfs 嵌入式文件系统的具体应用,从底层驱动到各个应用接口,一一介绍。

       关键字:嵌入式系统 文件系统 嵌入式文件系统 免费 开源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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值