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.

TMDSCNCD28379D: Read Flash Contents, Save Them, and Write Them to Another Controller

Part Number: TMDSCNCD28379D

I have a controlCARD with firmware on it that I need to save in a way that I can put that firmware onto another controlCARD without erasing/changing the firmware on the original controlCARD.  I've seen another user's post about this same topic, but it was from over 10 years ago, and the links in the answer no longer work.  Is the Memory Save/Load Utility still available?  How would it be used in this circumstance?

Thank you!

Here's my system specs:

Code Composer Studio
 Version: 12.0.0.00009

OS: Windows 10, v.10.0, x86_64 / win32
Java vendor: Eclipse Adoptium
Java runtime version: 11.0.13+8
Java version: 11.0.13

  • If the device is unlocked you can save the memory contents and then load that onto another device.

    In the debug perspective go to View-> memory browser. From the memory browser window there is a save button. Select the program memory location and save it as a COFF. 

    The .out file which is created can then be loaded onto the new device using the standard programming procedure.

    Regards,
    Cody

  • When I enter the debug perspective and open the memory browser, all of the options are unavailable including save.  Does this mean the device is locked?

  • Not as far as I know, I believe it willl just read all 0's or all F's. This is usually the behavior if you did not connect to the device... So, did you connect to the device?


    Regards,
    Cody 

  • I've got the programming USB plugged into the computer and the controlCARD has power as well.  With that, all I've done is change the perspective from CCS Edit to CCS Debug.  Then I went to View->Memory Browser.  With that window open, none of the options are available.  Under Run, Connect Target is also unavailable.  It will load code onto the controlCARD after pressing Debug.  However, this option would cause a rewrite of the firmware on the controlCARD with the firmware I'd like to archive.  Is there a way to enter debug without doing an erase and flash?  Or preferably, is there a way to simply connect to the target and then save the memory to a file?

    Thank you!

  • Curtis,

    Pressing the "bug" icon is not how you should be connecting to the device. Go to you ccxml file, or create one using the "target configuration" window, then right click on it and press "launch target configuration". From there CCS will enumerate the emulator and wait for you to connect to the device. Then from the debug perspective right click on the device in the "debug" window and click "connect to target". This will connect you without loading code.

    Then copy the memory as described above.

    Regards,
    Cody 

  • Hi Cody,

    Thank you for clearing that up.  Once I've connected and selected Save Memory, it asks for a memory type, like program or data, as well as a memory range.  I'd like to save the entire program code that's stored in flash.  I'm assuming I'd select program, but I don't know what the memory address range is.  Is there a generic start address and length that would save the entire program, even if the program doesn't use all of the available memory?

    Thank you,

    Curtis

  • Curtis,

    I would encourage you to try both the program and data busses to read the memory and compare the differences.(for this experiment I would recommend you save it in another text-based format that would be easy to compare) It may help you better understand the memory architecture.

    The memory size and addresses of the device are different for different part number and packages. The easiest place to find this information is on top of the package. The memory for each part number is described in the datasheet, try searching for "memory map" and it should pop up. 

     https://www.ti.com/lit/gpn/tms320f28379d 

    Regards,
    Cody