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

Posted 神游虚空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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纠错的主要内容,如果未能解决你的问题,请参考以下文章

stm32移植fatfs系统,已实现往sd卡中写txt,但只能存64k的数据,怎么能存更多的数据呢

STM32之独立版USB(Host)驱动+MSC+Fatfs移植

基于STM32完成FATFS文件系统移植与运用--这是完全免费开源的FAT文件系统

STM32+雷龙SD NAND(贴片SD卡)完成FATFS文件系统移植与测试

STM32+雷龙SD NAND(贴片SD卡)完成FATFS文件系统移植与测试

ThreadX FileX文件系统移植到STM32F429(SD卡)