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.

TMS320F28075: I am working on EEPROM Emulation. Where are the Flash APIs defined?

Part Number: TMS320F28075
Other Parts Discussed in Thread: C2000WARE

Hello,

I would like to know where are the Flash APIs such as Flash_Erase, Flash_Program are defined. Can anyone help me with that?

Thank You,
Sagar

  • Sagar,

    Flash API library (F021_API_F2837xD_FPU32.lib) for TMS320F28075 is available at C2000Ware_x_xx_xx_xx\libraries\flash_api\f2807x\lib.

    A Flash API usage example is provided at C2000Ware_x_xx_xx_xx\device_support\f2807x\examples\cpu1\flash_programming.

    Documentation for Flash API library is provided at C2000Ware_x_xx_xx_xx\libraries\flash_api\f2807x\docs.
    Read the IMPORTANT_README.pdf provided in this folder for sure.

    Note that the prototypes of the Flash API functions for erase and program are not Flash_Erase and Flash_Program respectively. Flash technology used in this device is different and hence the API is different. You can get more details in the documentation.

    Thanks and regards,
    Vamsi
  • Thanks for replying. I don't find the path or C2000Ware in my project or setup. Could you please help me with finding it online? And do I need to follow any steps like installing or copying them into my project etc?

    Regards,
    Sagar
  • Sagar,

    You can download C2000Ware from www.ti.com/.../c2000ware.
    Once you install it, you should be able to browse through the paths that I mentioned.

    Thanks and regards,
    Vamsi
  • Now that I got Flash APIs, EEPROM emulation remains same as explained in the document sprab89. Am I right?
  • Sagar,

    Flash API functions that you use for this device are different than that of those used in SPRAB69.  We don't have an EEPROM solution/example for this device.  However, the EEPROM concept explained in SPRAB69 is still applicable.  

    Also, F28075 Flash has ECC.  This will require you to program a minimum of 64-bits (aligned on 64-bit boundary) at a time.  Hence, you have to allocate a minimum of 64-bits for a variable even if it needs only 16-bits or 32-bits.  

    Thanks and regards,

    Vamsi

  • Understood. Is there any maturity document or comparison document which explains Flash APIs used in SPRAB89 vs Flash APIs for this device.
    I am looking for mapping of functions from the document to actural Flash APIs for this device.

    Thanks,
    Sagar
  • Sagar,

    Table shown below is a high level mapping that you can refer to.  It is important to read the API reference guide (SPNU629) completely to know more details.  You can not simply replace the functions; there are some differences - for example: Flash_Program() function does not have an upper limit on the length parameter. Fapi_issueProgrammingCommand() function can program only a max of 8 16-bit locations at one time.  Hence, please read the reference guide and go through the example provided for better understanding. 

    SPRAB69: Flash API functions or header configuration

    F28075 Flash API function

    Configure CPU_RATE in FlashX_API_Config.h

    Pass the system frequency as a parameter to Fapi_initializeAPI()

    N/A

    Fapi_setActiveFlashBank()

    Flash_Erase()

    Fapi_issueAsyncCommandWithAddress()

    Flash_Program()

    Fapi_issueProgrammingCommand()

    Flash_Verify()

    Fapi_doVerify()

    Thanks and regards,
    Vamsi

  • Thanks. Let me go through the document and work on it.