2004-01-07 09:26 PM
2004-01-06 09:41 PM
I have a question about erasing multiple blocks in the internal flash of the ST10F269. According to the manual it is possible to erase multiple blocks in parallel. While it is fairly evident how to start the erase operation I'm not sure if I understand how I can find out when the erase operation is complete and whether there has been an error.
Is there only one single Flash Status register for the entire operation or has each block that is being erased in parallel its own Flash Status register. The latter would mean that one has to check for the completion of all individual block erase operations that are in progress. Or is it sufficient to read from any (but always the same) block being erased to get the Flash Status for the entire operation? Any comments welcome Aron [ This message was edited by: Aron on 07-01-2004 11:12 ][ This message was edited by: Aron on 08-01-2004 06:57 ]2004-01-07 09:26 PM
There is only one Flash Status register. During multiple blocks erase sequence, it is possible to access this register at any address in any of the erased blocks.
Therefore pooling FSB.5 or FSB.7 do not need to be done in every sector. But in case of error during erase, the toggle bit FSB.2 will toggle only when accessing the faulty sector(s). In this case, accesses to the flash status register can be done in each block to identify the source of the problem. Be carefull: FSB.2 toggles in case of error therfore several accesses are necessary...