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.

EEPROM Emulation in TMS320F28063

Other Parts Discussed in Thread: CONTROLSUITE

 I want to write data in flash memory and read data from it, also modify the data. Please help me in getting started with the program.

I have tried the EEPROM emulation document (2009) and examples mentioned in that  SPRAB69 , but the device examples are not for F28063 controller. I'm using CCS 6.1.1 version. 

I have tried to use the Flash API example code (v151) from controlsuite . But the data is getting stored in which location of data or program memory I'm unable to understand. I'm new to TMS320F28063


Please can someone provide help in understanding the code for EEPROM Emulation using flash API or any other method.

  • If you are just getting started, Flash API example code from controlsuite is the best place to start. Flash memory is available in both data space and program space. So, when you program anything to flash, you can check either program space (or) data space.
  • Hi Manoj,

    What is the purpose of flash API in EEPROM emulation ? Is it required for piccolo microcontrollers (F28063) ?

    The sample code for flash programming has a comment :

    For Piccolo, we dont need to copy the API from Flash as it is present in BOOT ROM

    --------------------------------------------------------------------------------------------------------------------------------------------------
    I want to know that for using:

    Example_MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart);

    in the .cmd file, the below lines if uncommented,

    Flash28_API: // Applicable only when API is not in BootROM
    {
    -lFlash2802x_API_V100a.lib(.text)
    }

    LOAD = FLASHD,
    RUN = PRAML0,
    LOAD_START(_Flash28_API_LoadStart),
    LOAD_END(_Flash28_API_LoadEnd),
    RUN_START(_Flash28_API_RunStart),
    PAGE = 0


    I get error for Flash2802x_API_V100a.lib, that it cannot find file.

    --------------------------------------------------------------------------------------------------------------------------------------------------

    Can data be directly stored in a flash location by using:

    Flash_ptr = 0x3E8000; //flash address

    Status = Flash_Program(Flash_ptr,Buffer,Length,&FlashStatus);

    --------------------------------------------------------------------------------------------------------------------------------------------------

    Please help.
  • Ravi,

    Are you trying to use flash as EEPROM? If so, you can use flash to emulate EEPROM behavior. Below link provides an application report on how to use flash as EEPROM.

    http://www.ti.com/lit/an/sprab69/sprab69.pdf

    In F2806x devices, Flash API is already available in BOOTROM. So, you don't need Flash API software library. So, you can leave them commented (or) completely removed from linker command file.

    Yes, you can program one flash location (address) at a time. One thing to know however is, Flash_ptr is unsigned 16-bit integer.

    So, Flash_ptr = (Uint16 *) 0x3E8000 instead of Flash_ptr = 0x3E8000

    Regards,

    Manoj