首页 > 代码库 > STM32 下 FatFs的移植,实现了擦写均衡,坏块管理,硬件 ECC,ECC纠错

STM32 下 FatFs的移植,实现了擦写均衡,坏块管理,硬件 ECC,ECC纠错

最近因项目需要,做一个数据采集的单片机平台。需要移植 FatFs 。现在把最后成果贴上来。


在 STM32 单片机上,成功移植 FatFs 0.12b,使用的 Nand Flash 芯片为 K9F2G08 。

特点: 系统配合 FatFs 实现了擦写均衡,坏块管理,硬件ECC,软件 ECC 纠错

文件组成:

       FatFs 目录

           +---- ffconf.h 对 FatFs 进行配置的文件

           +---- ff.h

           +---- ff.c 是 FatFs 的实现文件,擦写均衡 在 f_getfree 函数中已实现。

           +---- ccsbcs.c 文件名支持英文

           +---- cc936.c 文件名支技中文

           +---- diskio.c 是 FatFs 与自定义驱动层的接口函数

           +---- NandDisk.c 为自己实现的 NandFlash 匹配函数,坏块管理在这里实现。 BSP 目录

           +---- fsmc_nand.h 对 K9F2G08 的各种参数定义

           +---- fsmc_nand.c 实现硬件级别的读写驱动,STM32 的 硬件 ECC 在这里使用。还 实现了 ECC 自动纠错。

注:为了获得 64*2K 的擦除缓冲区,系统还使用了一块 SRAM 芯片,以支持 malloc 内存 分配函数。这个文件由你自己的系统提供。


引用:

       FatFs 系统 http://elm-chan.org/fsw/ff/00index_e.html

       ECC 算法详细说明 http://www.360doc.com/content/11/0523/17/496343_118837985.shtml

 

最后如果想要下载程序的朋友请点这里:源程序下载

STM32 下 FatFs的移植,实现了擦写均衡,坏块管理,硬件 ECC,ECC纠错