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.

TMS320F280039C: Reducing Erase Sector timings.

Part Number: TMS320F280039C

I am writing an application which requires Flash sector erase operation to be performed sometimes.

I have noticed that the sector erase is taking around 15 milliseconds to execute. The data sheet also confirms the same (15-56 mSec)

But this is causing a scheduler overload. is there a way we can reduce the Flash erase time? 

Alternatively, is there a way we can erase memory lesser than Sector size e.g. 1K,2K,4KB instead of 8K Sectors?

  • Hi SJ,

    Our subject matter expert will respond back to you by 1/13/2023.

    Best,

    Ryan Ma

  • Hello SJ,

    It is not possible to erase memory less than a sector size, this is fundamental to the way flash memory works. Erase is always a bulk operation that affects the entire sector.

    Your question suggests you are using flash for EEPROM emulation/data storage. When doing this, you should be mindful that flash memory is always rated for a certain maximum number of write/erase cycles, beyond which operation and performance of the flash is not assured. As the number of write/erase cycles increases, the erase time will also increase as it requires more pulses to complete the erase operation (this is also fundamental to the way flash memory works). These limits are specified in the device data sheet.

    If your datalogging code is somehow dependent on a critical erase time window, then you definitely need to make some changes... if 15ms is a problem now, it certainly will be much worse if it gets to 100ms or higher. Erase operations are designed to be performed asynchronously - your system can continue to operate while erase is happening in the background. But you will need to reorganize your code to not have a limitation based on erase time.

    Best regards,
    Ibukun