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.

TMS320F28379D: EEPROM Emulation

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Hello,

I would like to store approximately 20 bytes to FLASH for general product SN and calibration information.

I've read the doc: EEPROM Emulation for Gen2 C2000 RT MCUs.  TI doc# SPRAB69Aa.

I've also installed the example EEPROM FLASH program that is included in:  ...C2000Ware_5_01_00_00/driverlib/f28p65x/examples/c28x/flash

My question is:

Is there a repository where I can download the device specific support files?  I believe I need the F2837xD versions of:

1) 28p65x_eeprom_Ink_CPU1_FLASH.cmd

2) 28p65x_eeprom_Ink_CPU1_RAM.cmd

3) EEPROM_Config.h which #includes two files: a) FlashTech_F28P65x_C28x.h and b) flash_programming_f28p65x.h.  The EEPROM_Config.h does not have a #define for the F2837xD part.

4) F28P65x_EEPROM.c

Thank you in advance

  • Hi Tony,

    There is a new document that details the specific implementation of the EEPROM Emulation project for F28P65x. Here is the link: https://www.ti.com/lit/sprade8. The document also has a section that provides insight into adapting the project for other Gen 3 C2000 MCUs. Please  note that this document and associated project are for the F28P65x device, so changes to the source code will have to be made to adapt to F2837xD. For example, the F2837xD and F28P65x have different Flash Sector numbers and sizes, so refer to the appropriate datasheet (https://www.ti.com/lit/gpn/TMS320F28375D) and Flash API Reference Guide (https://www.ti.com/lit/spnu629a) to adapt the F28P65x project for F2837xD.

    Files 1 and 2 (the .cmd files) can be adapted from 2837xd_RAM_lnk_cpu1.cmd and 2837xd_FLASH_lnk_cpu1.cmd located at C2000Ware_5_01_00_00\device_support\f2837xd\common\cmd . Note that a section for the Flash API and .TI.ramfuncs will have to be added to these files. Using the RAM configuration is required because F2837xD only has one Flash Bank per CPU, thus the Flash API must be copied from Flash to RAM. 

    File 3 will have to be adapted by referencing the F2837xD datasheet and Technical Reference Manual. The definitions in this header file are device specific to the F28P65x devices, but the F2837xD equivalent definitions can be found in those documents. 

    The equivalent of file 3a (F021_F2837xD_C28x.h) can be found at C2000Ware_5_01_00_00\libraries\flash_api\f2837xd\include

    The equivalent of file 3b (flash_programming_c28.h) can be found at C2000Ware_5_01_00_00\device_support\f2837xd\examples\dual\F2837xD_sci_flash_kernels\cpu01

    File 4 will have to be adapted similarly to File 3. Several functions from F28P65x_EEPROM.c (particularly EEPROM_Config_Check() and Configure_Protection_Masks()) will have to be examined to see what needs to be changed to function on F2837xD. Similarly, the Flash API function calls may have to be changed as well. The F28P65x EEPROM Emulation User Guide, SPRADE8, details all the project functions and highlights areas that may differ from device-to-device. 

    Kind regards,

    Skyler

  • Thank you Skylar.  I'll look into the documents you reference.

    Much appreciated!

  • Hi Tony,

    Sounds good.

    Kind regards,

    Skyler