From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tolunay Orkun Date: Wed, 09 May 2007 15:25:34 -0500 Subject: [U-Boot-Users] CFI driver does not verify writes in buffered mode - feature? In-Reply-To: References: Message-ID: <46422E3E.40703@orkun.us> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Detlev Zundel wrote: > Hi, > > when using the CFI flash driver with CFG_FLASH_USE_BUFFER_WRITE the > "usual" verification whether the write did indeed happen correctly is > not done: > > => erase fc000000 +1 > > . done > Erased 1 sectors > => mw 200000 55555555 100 > => cp.b 200000 fc000000 100 > Copy to Flash... done > => md fc000000 > fc000000: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000010: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000020: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000030: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000040: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000050: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000060: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000070: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000080: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000090: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000a0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000b0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000c0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000d0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000e0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000f0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > => mw 200000 ffffffff 100 > => cp.b 200000 fc000000 100 > Copy to Flash... done > => md fc000000 > fc000000: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000010: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000020: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000030: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000040: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000050: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000060: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000070: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000080: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc000090: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000a0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000b0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000c0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000d0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000e0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > fc0000f0: 55555555 55555555 55555555 55555555 UUUUUUUUUUUUUUUU > > > So the write did indeed *not proceed* correctly without the expected > "flash not erased" error message appearing. In the above example you are overwriting the same data. Which is OK to write without erasing first. You can turn 1 bits to 0 or re-write the same data without erasing which is OK. The redundant environment implementation takes advantage of this in U-Boot. This is not an error. Am I missing something? Tolunay