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.

TMS570LS3137: About F021's Fapi_checkFsmForReady()

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

Hi,

In my customer's program "Fapi_checkFsmForReady" may wait Ready for 100 msec or more.

Is this time reasonable?

Is interrupting prohibited during this Ready wait?

Best regards,

Sasaki

  • Hello Sasaki,

    I have copied one of our F021 experts on this post, however, can you provide more details in the use case and how this function is called? I know there are functions that can be used to write data that can happen in the background so I am curious in what way your customer is using this function call? is it part of the FEE drivers or is it part of a boot loader application?
  • Hi Chuck-san,

    Thank you for your reply.

    That is FEE driver.My customer is using FLASH writing task in the user program.

    Chuck Davenport said:
    Hello Sasaki,

    I have copied one of our F021 experts on this post, however, can you provide more details in the use case and how this function is called? I know there are functions that can be used to write data that can happen in the background so I am curious in what way your customer is using this function call? is it part of the FEE drivers or is it part of a boot loader application?

    What is functions that can be used to write data that can happen in the background?

    Best regards,

    Sasaki

  • Hello Sasaki,

    The bank0 and bank1 are primary flash, and bank 7 is used as emulated eeprom (FEE). If you want to erase/program EEPROM, please use the FEE driver generated by HALCoGen.

    There are several APIs in FEE driver. Some are synchronous, and some are asynchronous (TI_FEE_Read, TI_Fee_WriteAsync, TI_FeeManager, etc). The asynchronous APIs execute in background.

    The maximum programming time for the whole EEPROM (64KB) may up to 330ms.
  • Hi QJ-san,

    Thank you for your support.

    Please also tell me about the following.

    In my customer's program "Fapi_checkFsmForReady" may wait Ready for 100 msec or more.

    Is this time reasonable?

    Is interrupting prohibited during this Ready wait?

    Best regards,

    Sasaki

  • Hi Sasaki,

    The interrupt is not prohibited by the flash operation. Flash operation is running in flash wrapper in background. It might take longer to erase the whole bank. This is the erase/program time:

  • Hi QJ-san,

    Thank you for your support.
    Please let me know in addition.
    Is there anything that prohibits interrupts in API for F021?

    Best regards,
    Sasaki
  • Hi Sasaki-san,

    No F021 API will not disable Interrupts.
    But when an Active Flash operation is carried out like Erase of a Sector, if same sector is accessed by CPU, until that Flash operation is complete the Interrupts are Frozen. This has nothing to do with F021 API , it the Hardware implementation.

    Note : DO not try to access the Sector, which is undergoing Flash operations like Erase. Since Erase take more time your Interrupts will also be stalled so long if any accidental or Flash Access performed by CPU.
  • Hi Prahtap-san,

    Thank you for your support!!
    I understood it.

    Best regards,
    Sasaki