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.

TMS320F28377D: Flash Erase Command Blocking CPU for 14ms

Part Number: TMS320F28377D


Tool/software:

Dear TI Support Team,

I am currently developing on the TMS320F28377D device and using the Flash API function: oReturnCheck = Fapi_issueAsyncCommandWithAddress(Fapi_EraseSector, (uint32 *)Bzero_SectorN_start);

During measurement with an oscilloscope, I observed that the erase operation consistently takes about 14 ms. Throughout this period, all interrupts and other application code execution are suspended. The interrupt signal (Ch1) completely stops whenever the erase command (Ch2) is active, and only resumes after the erase is finished.

This behavior is creating serious difficulties in my application, as maintaining real-time interrupt service is essential.

I would like to kindly ask for your advice on the following:

  1. Is there any method to allow interrupts or CPU tasks to continue while a flash erase is in progress?

  2. Can the erase execution time (14 ms) be reduced in any way, or is this an inherent hardware limitation?

  3. Are there recommended practices or official examples that demonstrate how to safely erase flash while still keeping interrupts responsive?

I would be very grateful for any guidance, references, or example code you could share. This issue is critical to the progress of my project, and I truly appreciate your support.

Thank you very much for your time and assistance.

Yellow Ch1 is an interrupt, blue Ch2 is an erase function. Red Ch3 is Write.

Sincerely,
[KDY]

  • Hi KDY,

     Please confirm whether your code is getting executed from Flash or RAM? Also, please note the point below from the Flash API user. Normally, erase time changes with the number of erase cycles. Refer to section "6.9.4.1 Flash Parameters" from the datasheet for more details.

    Thanks & Regards, 

    Rajeshwary

  • Thank you for your response. It has been very helpful.

    I have one more question.

    I have confirmed that the data storage functionality using the flash memory feature is working. As shown in the image, the initial erase time was around 15ms. After testing the flash function approximately 100,000 times, I noticed that the erase time has increased.

    Based on the datasheet, should I understand this as the erase time increasing due to the number of cycles? Can this be interpreted as a physical characteristic of the chip? The red waveform represents the erase operation

         -->>   

  • Hi Kim,

    Based on the datasheet, should I understand this as the erase time increasing due to the number of cycles?

    Yes, increase in erase time is due to number of erase cycles.

    Can this be interpreted as a physical characteristic of the chip?

    Yes, thats correct.

    Regards,

    Rajeshwary