Embedded 在Win CE6中使用带硬件ecc的nandflash
目前,我正在将Win CE6设备改装为新的nand闪存芯片。 新的nand具有更高的ecc要求(4位/512字节),并支持片上ecc计算 Microsoft flash文件系统在不删除扇区的情况下写入扇区。在SectorInfo->wReserved2中写入其状态信息时会发生这种情况。在这里,只有单个位被翻转为零 问题是,对于片上ecc,当文件系统写入wReserved2时,芯片也会计算ecc。但它无法将此ECC正确写入设备,因为这需要擦除扇区,而文件系统则不这样做 在页面的sparepart中还有ecc未受保护的区域,每页15字节。我决定将SectorInfo的关键6字节存储两次(即wReserved2表示扇区状态,dwReserved1表示逻辑扇区号) 但当这两个副本中的一个出现位错误时,我仍然无法确定哪一个是正确的 所以,我的问题是:Embedded 在Win CE6中使用带硬件ecc的nandflash,embedded,windows-ce,windows-embedded-compact,Embedded,Windows Ce,Windows Embedded Compact,目前,我正在将Win CE6设备改装为新的nand闪存芯片。 新的nand具有更高的ecc要求(4位/512字节),并支持片上ecc计算 Microsoft flash文件系统在不删除扇区的情况下写入扇区。在SectorInfo->wReserved2中写入其状态信息时会发生这种情况。在这里,只有单个位被翻转为零 问题是,对于片上ecc,当文件系统写入wReserved2时,芯片也会计算ecc。但它无法将此ECC正确写入设备,因为这需要擦除扇区,而文件系统则不这样做 在页面的sparepart中
- 关于如何使用不受保护的15字节来解决这个问题,有什么想法吗
- 能否将闪存文件系统配置为支持“写入前擦除状态信息”
- 还有其他办法解决这个问题吗