stm32-FATFS对CF卡坏块的处理

问题描述

FATFS对CF卡坏块的处理
我在keil上移植FATFS,用的是STM32F4,向CF卡中写入文件,但是写了一部分数据后,错误寄存器读取为1,查手册是有坏块,之后的数据就写不进去了。
哪位大神也遇到类似的问题,遇到了坏块怎么处理,如何跳过坏块继续写入。

解决方案

http://www.ednchina.com/ART_58643_29_0_OA_b6230a1d.HTM

时间: 2024-09-15 14:02:50

stm32-FATFS对CF卡坏块的处理的相关文章

轻量级 NAND 坏块管理方法分析及改进

NAND 及其坏块 NAND Flash 是一种高密度低成本的存储体,它在各种各样的嵌入式系统中获得了广泛的应用, USB 存储设备.SD 卡.手机.相机和固态硬盘等各种设备中使用的都是 NAND 芯片.其内部结构是按照块/页进行组织的,一个 NAND 芯片包含若干个块,而块内部又是由若干个页构成的.NAND 芯片出厂时就可能包含若干个坏块,在使用过程中也可能会产生新的坏块,当一个块被标记为坏块后,不应再对其写入数据,以免出现数据丢失.由于 NAND 擦写次数是有限的,而且会在使用过程中产生新的

oracle中一次dataguard坏块的修复

客户有个11g的active dataguard库,mrp进程停了,看alertlog,可以看到有关ora-7445[kdxlin]的报错: cat alert*.log .... Exception [type:SIGSEOV,Address not mapped to object] [ADDR:0xC] |PC:0x96504C7,kdxlin()+4153][flags: 0x0,count:1] Errors in le /aabb/app/oracle/rdbms/diag/rdbm

如果处理Oracle数据库中的坏块问题

oracle|数据|数据库|问题 Oracle的数据块有固定的格式和结构,分三层: Cache layer.Transaction layer和Data layer.对数据块进行读写操作时,做一致性检查:–Block type–DBA–Scn –Header and tail 发现不一致,标记为坏块. 坏块有两种: 物理坏块和逻辑坏块. 坏块产生的影响:数据字典表.回滚段表.临时段和用户数据表和索引.应用报错:–Ora-1578 –Ora-600 and trace file in bdump

用ORACLE8i修复数据库坏块的三种方法

oracle|数据|数据库 在进行SUN CLUSTER双机切换.意外断电或其它情况下,有时会发生共享盘MOUNT不上的情况,需要使用FSCK对共享盘进行修复.修复完成后,在数据库启动过程中,却又出现"数据块损坏,无法启动数据库"的现象,此时,可以根据不同的数据块损坏类型,检测并修复错误.在此介绍三种使用Oracle8i修复损坏数据块的方法. 一.数据块损坏,错误代码为ORA-01578 ORA-1115 I/O ERROR READING BLOCK 通常后跟ORA-737X错误与操

如何处理Oracle数据库中的坏块问题

oracle|数据|数据库|问题   本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了.   一:什么是数据库的坏块   首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction laye

oracle8i回滚段表空间出现坏块的解决方法

oracle|解决 今天早上刚到公司便接到网通客户的投诉电话,说网管数据库出问题了,数据库有坏块,回滚段里的部分数据不能读取,需要帮忙解决. 我查看了一下swappALRT.log文件,发现有以下错误: Tue Sep 21 10:34:08 2004Errors in file E:\oracle\admin wapp\bdump wappSMON.TRC:ORA-01578: ORACLE data block corrupted (file # 2, block # 24497)ORA-0

ORACLE坏块(ORA-01578)处理方法

oracle ORACLE的坏块即ORA-01578错,同时还可能伴随ORA-01110错,这种错误对于初学者或是那些没有实践经验的dba来说无疑是很棘手的.我当初就深受其害,写下这篇文章则是希望对大家有所帮助. 一.出问题时的情景 1.  我的一个计费的入库的进程停掉,报的便是ORA-01578错,对应用相关的表tg_bill03做SQL>select from tg_cdr03 where rownum<10;这样是可以的,但做SQL>select count(*) from tg_

ORA-01578及ORA-01110坏块如何解决

一个案例,查看跟踪文件发现如下错误信息 d:\oracle\product\10.2.0\admin\dbserver\udump\orcl_ora_5888.trc Corrupt block relative dba: 0x09848269 (file 38, block 295529) Bad header found during buffer read Data in bad block: type: 1 format: 5 rdba: 0x30322d2d last change s

Oracle中通过RMAN修复坏块

通过dbv和rman blockrecover对Oracle数据库坏块进行修复. (1)rman备份时alert.log报如下错误: Fri Jul  2 12:41:36 2010 Hex dump of (file 12, block 2718618) in trace file /u01/app/oracle/admin/bi/udump/bi_ora_31213.trc Corrupt block relative dba: 0x03297b9a (file 12, block 2718