This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1294NCPDT User data storage sample code (using internal flash not EEPROM)

Other Parts Discussed in Thread: TM4C1294NCPDT

Hi all,


As title, TM4C1294NCPDT have internal EEPROM, but customer need to put more data in their project(over EEPROM size). Do you have any software example for EEPROM emulation by internal flash? Thanks!


BR,

Iron.Huang

  • Hello Iron,

    We do not have any such examples unless you consider boot loader examples of programming methodologies. This would require use of the flash wrapper to achieve the desired functionality and EEPROM emulation drivers to manage the write/erase cycles so they do not exceed the 100k spec. Note also that as the flash ages due to the w/e cycles, programming and erase times will begin to lengthen. Also, I have not been able to locate information regarding execution of code while programming as well so it may be needed to execute from RAM (bootloader examples examination should answer this question). Finally, with respect to the Flash EEPROM emulation theories, there are many white papers out on the web regarding this process. In general, you fill a sector with data before coping to another sector then erase the original sector. When sector 2 is full, you copy and condense the data back to sector 1. You keep going back and forth like this until the cycles are used up. this process, however, is dependent on how they structure the data and how they intend to use the space. i.e., if they are simply using it for calibration data that is updated only rarely, they may be able to use only one sector and update through a bootloader type of application. If, however, they want a much finer resolution and update frequency on the data writes, care must be taken to manage the data (often through link lists and flags indicating invalid data slots with pointers to valid data). This can become very complex and is not generally recommended for frequently updated data.