积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> DSP >> DSP代码示例
  相关分类: 应用论文 | TI DSP | 新产品 | 算法 | 下载 | DSP代码示例 | ADI DSP | freescale DSP |
NAND Flash上均匀损耗与掉电恢复在线测试(下)
 
作者:同济大学 胡一飞 徐中伟 谢世环   来源:单片机与嵌入式系统应用    点击数:647   更新时间:2007-12-19
您可以添加到网摘 让更多人关注此文章:

    

EOnlyOldEOnlyNewENewOldEDefault分别表示3种不同的保护方式和默认保护方式(由原文件系统提供)。SProInfo结构不仅记录保护方式,还记录了该文件名,供关闭文件时使用。

  yaffs_openEx()根据传入的保护方式,修改打开文件的标志,以显式地设置原有的两种保护方式。当保护方式为EOnlyOld时,yaffs_openEx()将打开另一个新的临时文件,并返回给用户使用。传入的SProInfo结构的指针,将带回文件名和文件句柄,供关闭文件时用。yaffs_closeEx()函数在关闭文件时,检查文件的保护方式。若为第种情况,则直接关闭;若为第一种情况,则先删除原文件,再把新文件重新命名,以达到文件保护的目的。

  使用方法如下:

①  使用默认方式,则与原文件系统使用方法相同。新参数默认为NULL,可以直接兼容己有代码。
② 
使用扩展方式,则要先生成一个SProInfo的对象,但将其指针传给yaffs_openEx()。关闭时同样要将其指针传给yaffs_closeEx()。例如:

SProInfo pif
pif.proMode=EOnlyOld;//
使用第一种保护方式
int h=yaffs_openEx(Name, O_CREAT | O_RDWR, S_IREAD | S_IWRITE, &pif);
//
用文件句柄h对文件进行读写操作
yaffs_closeEx(h, &pif);

  对进行上述改进后的扩展方法进行测试,结果同改进前;但增加了只保留旧文件的第一种保护方式,程序运行良好。

4.5.2  Spare区掉电不能恢复的修改

  对源代码进行深入研究,发现在Spare区掉电不能恢复的问题出在Spare区的Tag信息自检验部分。yaffs_GetTagsFromSpare()函数从Spare区读取Tag信息的过程中,调用yaffs_CheckECCOnTags()检验Tag信息。但是,原代码对ECC校验错误的Spare区,只是将错误修正,并返回到上层函数;上层函数仅记录Tag出错次数,并不做处理。因此,在Spare区掉电时,会出现不可恢复的错误。

  修改yaffs_GetTagsFromSpare()函数的返回类型为int,以返回Spare区的ECC校验错误信息。当yaffs_CheckECCOnTags()返回Tag校验错误时,yaffs_GetTagsFromSpare()函数将此错误返回。在调用此函数的地方,进行相应的修改: SpareECC出错时,调用yaffs_DeleteChunk(),删除该页。因掉电引发的Spare错误不可恢复的问题,经修改后运行良好。

结语

  YAFFS文件系统是专门为NAND闪存而设计的,它使得价格低廉的NAND闪存芯片具有了高效性和健壮性;但YAFFS文件系统在性能上还存在着问题,并不完全适用于对性能苛求的嵌入式系统。本文针对YAFFS文件系统中均匀损耗和掉电恢复两个重要指标进行测试,给出了测试结果,并针对测试过程中存在的部分问题提出了改进方案。实际测试表明,改进后系统性能有明显改善,能适应更多的应用环境。

参考文献

[1]  沈建华,罗悦怿. 基于NAND FlashFFS设计与实现[J]. 计算机应用与软件,20056.
[2] 
罗赟赛,李项军,赵锡凑,等. NAND闪存在嵌入式Linux信息代理中的实现[J]. 仪器仪表用户,2005(5).
[3] 
毛勇强,黄光明. YAFFS文件系统在嵌入式Linux上的实现[J]. 电子设计应用,2006(1).
[4] 
孙天亮,陈伟元,王豪才. 嵌入式系统中K9F5608U0M NAND闪速存储器的应用[J]. 单片机与嵌入式系统应用2002年合订本(7~12)2002.
[5] 
吴娴. 一个嵌入式Linux文件系统的优化[J]. 计算机应用与软件,2005(7).

胡一飞、谢世环(硕士研究生),主要研究方向为嵌入式软件测试;
徐中伟(教授、博士生导师),主要研究方向为安全软件测试与评估。

 



相关文章
· NAND Flash上均匀损耗与掉电恢复在线测试[277]
· 数控设备软件测试的解决方案[331]
· NAND Flash上均匀损耗与掉电恢复在线测试[231]
· NAND Flash上均匀损耗与掉电恢复在线测试[359]
· NAND Flash上均匀损耗与掉电恢复在线测试(上)[670]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
新兴半导体技术催生绿色节能的大学校园
电子系统创新促进汽车走向环保与节能
意法CEO携新品巡游中国 
未来3年新余需要8万光伏产业人才
看好中国未来发展:瑞萨提升在华芯片产
中国LED发展神速将成为未来照明产业
剖析联发科技2009年五大产品策略
突破四大障碍 蓝牙立体声耳
瑞萨向德国企业出售当地半导体前工序工
产业紧缩 PCB业或将提前
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[转]教你如何进行电磁兼容设计...
[转]汽车和专业音响原厂设计原...
诺基亚,三星手机原厂图纸和PC...
电子元器件可靠性和失效分析经典...
[建议]FPGA设计技巧与实例...
Xilinx FPGA设计快速...
基于CPLD的各种设计实例和分...
教你如何学会MSP430单片机...
凌阳单片机教程(共8章)非常详...
[建议]学习PIC系列单片机的...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网