uffs的crc校验有问题?

发布于 2020-09-10 22:05:35

在使用uffs的软件ECC和CRC校验的时候发现当出现有坏块的时候,再去读的时候会进行位纠错,调试发现,位已经纠错了,但是CRC校验不通过,跟踪发现代码,v1.3.6版本
uffs_flash.c的552行:

#ifdef CONFIG_ENABLE_PAGE_DATA_CRC
    if (!skip_ecc && !UFFS_FLASH_HAVE_ERR(ret)) {
        // Everything seems ok, do CRC check again.
           if (HEADER(buf)->crc == uffs_crc16sum(buf->data, size - sizeof(struct uffs_MiniHeaderSt)))
{
            ret = UFFS_FLASH_CRC_ERR;
                 //CRC相等是否应该没有CRC故障的吧,不应该返回这个故障的
            goto ext;
        }
    }

 #endif

上面的CRC比较如果相等应该是CRC没有问题才对的吧??

查看更多

关注者
0
被浏览
65
0 个回答
暂无答案,快来添加答案吧

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友