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文件系统移植与测试