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.

TMS320F28388D: How to place a created library in RAM.

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE,

Hello, 

I am using F28388D controller, i have created a library to integrate with the Application, i want to place the entire contents of library to be executed from RAM. Can you please let me know how do i place it by updating linker command file.

thanks,

Nagesh

  • Hi Nagesh,

    You can take a look at the flash programming example in the C2000Ware (C2000Ware_3_04_00_00\driverlib\f2838x\examples\c28x\flash\flashapi_ex1_programming.c).

    It's linker cmd file maps the flash API library to flash for load and RAM for run.  Then in the example, memcpy() will be called to copy the content from flash to RAM before execution.

    Linker cmd is available at: C2000Ware_3_04_00_00\device_support\f2838x\common\cmd\2838x_flash_api_lnk.cmd

    Take a look at this FAQ:  [FAQ] Flash - How to modify an application from RAM configuration to Flash configuration?: 

         https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/878674 

    Thanks and regards,
    Vamsi

  • Thank you Vamsi, 

    Can i create as below when ever i do this the second core fails while initializing the Flash in run time.

    Since i am placing some of our code as well in RAM will this be ok or can i create seperat group for both. 

     GROUP
     {
     ramfuncs
     { -l rts_TMS320F28388D_FlashAPI.lib}
     }
    LOAD = FLASH0 | FLASH1 | FLASH2 | FLASH3,
    RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3|RAMGS0,
    LOAD_START(RamfuncsLoadStart),
    LOAD_SIZE(RamfuncsLoadSize),
    LOAD_END(RamfuncsLoadEnd),
    RUN_START(RamfuncsRunStart),
    RUN_SIZE(RamfuncsRunSize),
    RUN_END(RamfuncsRunEnd),
    ALIGN(8)

    thanks,

    Nagesh

  • Nagesh,

    I don't see any issue with your linker cmd snippet.  Are you using ramfuncs or .TI.ramfunc section for content that you want to load to flash and then to copy to RAM?

    If your CPU2 is failing, then it is for some other reason.  I think that is what we are discussing in the other thread.

    Thanks and regards,

    Vamsi

  • Nagesh,

    Do you have any update on this?  Can I close this thread?

    Thanks and regards,
    Vamsi