Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

TMS320F28069M: Creating an image of the MCU memory and reload it to MCU later.

Part Number: TMS320F28069M

I am trying to read the 28069M memory using memory browcer, save it to a .out file and then later, load that files to the MCU. What is the proper way to do that.

Do i need to save all non-recerved memory blocks from the MCU or are there any specific memory blocks to save.

I want to know which parts of the 28069M MCU will be written when we flash the MCU with a .out file from CCS.



Please explain it using the image provided.

Thank you

  • Damith,

    For a capture you'll want to save all the SRAM contents.  To do this go to "Tools" -> Save Memory in CCS.  A dialog box will open that will prompt for a file name(you can leave the format as default TI).  

    The next dialog box will promp for a start address and length.  Since you just plan on re-loading I don't think the format matters, although I prefer 16-bit Hex since that is the smallest instruction size for the C28x.

    You will need to do the above twice since there are 2 regions of memory on the device that are not contiguous.

    first: start address = 0, length = 0x800 this will get M0/M1

    second: start address = 0x8000 length = 0xC000, this will get all L0-L8 RAMs.  

    When you want to load the RAM back you'll see this option Tools-Load memory.  

    In terms of what is loaded when you flash the .out file from CCS, that depends on your linker .cmd file.  Typically, to mimic how a MCU would function in the real world, any SRAM sections in the linker file would be tagged as "NO LOAD", but that may not be the case in your cmd file.  You can ZIP up the CMD and attach it to your post and I can take a look if you would prefer.

    Best,
    Matthew

  • Matthew

    Thanks for the information. My requirement is to copy a MCU and paste it to another. I cannot understand why i need to copy the RAM.
    Isn't it enough to get an image of Flash memory and then load it to another. ?

    As i understood so far, only flash memory will be written from the CCS. Other memory blocks are intact. They are modified at run time from the CPU. right?

    Thank you
    Damith

  • Damith,

    You are correct, the RAM memory is modified at run-time.  The linker command file allocates the memory block using the .ebss  sections directive.  If you want to run your program on another (F28069) device, all you need to do is save the .out file.  Then later on load the .out file to the other device.

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken

  • Damith,

    Also, in case you are interested, the F28069 workshop can be found at:

    https://training.ti.com/c2000-f2806x-microcontroller-workshop?context=1137791-1137782

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken