Other Parts Discussed in Thread: C2000WARE, HALCOGEN
Hello support,
I'm reading the document "EEPROM Emulation With the TMS320F28xxx DSCs" (SPRAB69–September 2009) in order to understand what could be a good method to organize and handle an EE emulated.
The document is based on some C examples that I could not find in C2000ware 3_03_00_00, but in any cases it states that 3 are the different statuses that each bank can have:
• EMPTY_BANK
• USED_BANK
• CURRENT_BANK
I can understand it, and I can guess that
• EMPTY_BANK can be 0xFFFF
• USED_BANK can be 0x0000
• CURRENT_BANK can be 0xFF00
so that I can change the status of the bank simply writing some ZEROes to the ONEs in flash.
This is a general simple strategy.
Now, the question:
in F280049C there is ECC feature and Flash API document states that "Once ECC is calculated and programmed for a 64-bit data, those 64 bits can not be reprogrammed (unless the sector is
erased) even if it is programming a bit from 1 to 0 in that 64-bit data, since the new ECC value will collide with the previously programmed ECC value."
This means to me that I cannot use the strategy above as it is, because any further writing after the first, to any 64bit dataword, will generate an ECC issue. Am I correct ?
Or is there any possibility on F280049 to by-pass the ECC issue and write multiple times the same 64bit dataword ?
Your answer will change the complexity of my EE emulated management.
Thanks