ThanksView
|
使用yaffs文件系统一段时间后,串口输出大量 "Partially written block X detected" !主要原因在于yaffs2文件系统在关闭之前,要将dirty 数据写入nand flash。 否则下一次开机yaffs2 scan 的时候,就会发现这些block 是Partially written 部分写入的,所以就会提示。 这种提示是yaff2文件系统常见的错误!如下图所示: Partially written block 611 detected Partially written block 611 detected Partially written block 611 detected Partially written block 611 detected Partially written block 611 detected Partially written block 611 detected Partially written block 611 detected 解决办法:1、方法一(也是最重要的办法) 每次关机前要使用 poweroff 命令关机! 使用 poweroff 命令关机,系统会自动调用sync 进行处理。让yaffs2文件系统 将dirty 的数据写入到nand flash 里面。但这个错误是可以积累的,所以随着不能正常sync而关机,会导致这些yaffs2的警告累积性地增加。 [root@MINI2440 /]# poweroffsave exit: isCheckpointed 1The system is going down NOW! Sending SIGTERM to all processesSending SIGKILL to all processesRequesting system poweroff s3c-sdi s3c2440-sdi: powered down. System halted. 2、方法二 修改 yaffs_fs.c 中 yaffs_auto_checkpoint的值改成 2。 3、方法三 修改 fs/yaffs2/yaffs_guts.cstatic int yaffs_ScanBackwards(yaffs_Device * dev)函数中(大概6668行左右) static intyaffs_ScanBackwards(yaffs_Device *dev) { ... } else { T( YAFFS_TRACE_SCAN, (TSTR("Partially written block %d detected" TENDSTR), blk)); } } ...} 报错是由于 YAFFS_TRACE_ALWAYS造成的,只要把它改成 YAFFS_TRACE_SCAN 就OK了。 |
三维半岛官网: http://www.thanksview.com
进入首页-
产品展示
物联网与人工智能 -
方案定制
嵌入式系统与液晶屏方案定制开发 -
技术支持
常见问题分析与解决