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.

How to Read out/Verify the Firmware in Memory?

Other Parts Discussed in Thread: CC430F5135

Hello,

I would like to read the firmware from one of my boards and then write it into another one. This firmware works good, but I have now no idea which version it is.

Is it possible to get a firmware out of the hardware with Code Composer Studio? I am using CCS V4 with the latest update. The debugger is MSP-FET430UIF. The MCU is CC430F5135.

An alternative may be to select some version of firmware and verify it with the firmware inside this board, since I have backups of all versions.

I am new with CCS and have searched a lot, but found no solution yet.

It would be appreciated if someone could give me some help. Thanks!

 

  • Hello,

    One option is to try using the memory save utility to dump the contents of flash to a file on the PC.

    ki

  • Hallo ki,

    Thank you for your answer and I still have some questions:

    1. When entering the debug mode by clicking the "bug" button, will the firmware be written into MCU? I guess not, otherwise a new reading makes no sense. It would be nice, if you could approve my guess.

    2. How should I set the "Target" in the "Save Memory" window? If the "Start Address" is "main", will everything be saved besides the main, including the other routines, ISR's, etc.? What is a right value for "Length"? CCS informs me that my firmware has "Code Size - Text: 6800 bytes  Data: 184 bytes".

    Best wishes

  • Anyu Dai said:
    1. When entering the debug mode by clicking the "bug" button, will the firmware be written into MCU? I guess not, otherwise a new reading makes no sense. It would be nice, if you could approve my guess.

    Clicking the "bug" button will trigger a series of actions. It will build the active project and if the build is successful, start a debug session, connect to the target, load the program (write the firmware into MCU) and run to main.

    Anyu Dai said:
    2. How should I set the "Target" in the "Save Memory" window? If the "Start Address" is "main", will everything be saved besides the main, including the other routines, ISR's, etc.? What is a right value for "Length"? CCS informs me that my firmware has "Code Size - Text: 6800 bytes  Data: 184 bytes".

    The Save Memory feature will simply save the contents of memory from the specified start address + specified length. Length is defined as number of words. The Save Memory feature will not be aware of the other routines, it just simply dumps the contents of memory for the specified memory address range.

  • Concerning the first question, is there any mothed to debug without (over)writing the firmware into MCU? As I have described, I would like to only read out the existing firmware in one MCU without destroying it. By clicking "Launch TI Debugger", CCS doesn't seem to connect MCU.

    Concerning the second question, I have saved more memory contents in *.dat, then opened it with a text editor, and found out that, it is all 0xFFFF after Line 1366 (i.e. Line 1366 is not 0xFFFF, but Line 1367 is). Does it mean Line 1366 is the end of my complete firmware, including all the routines, ISR's, etc?

    Best wishes

     

  • Anyu Dai said:
    Concerning the first question, is there any mothed to debug without (over)writing the firmware into MCU? As I have described, I would like to only read out the existing firmware in one MCU without destroying it. By clicking "Launch TI Debugger", CCS doesn't seem to connect MCU.

    Yes, you can set the project debug properties so that you only load symbols for the "Loading options". See slides 27 & 29

    http://processors.wiki.ti.com/images/0/09/CCSv4_Tips_%26_Tricks.pdf

    Another option is to launch a project-less debug session. See the second half of this video:

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_ccstudio/CCSv4/Demos/ccs4-setup1_b5.htm

    Anyu Dai said:
    Concerning the second question, I have saved more memory contents in *.dat, then opened it with a text editor, and found out that, it is all 0xFFFF after Line 1366 (i.e. Line 1366 is not 0xFFFF, but Line 1367 is). Does it mean Line 1366 is the end of my complete firmware, including all the routines, ISR's, etc?

    That could make sense. However note that it possible for your code to be non-contiguous in memory. There could be other sections of the application in a different memory address.

  • During following the second approach, I have chosen the connection category "Texas Instruments Simulator", but there is only a "F283x CPU Cycle Accurate Simulator" available, unlike the thousands of choices in your example. So I've proved and installed the updates, but still no new simulator appears. What should I do to add the one for my CC430?

     

    My CCS is of version 4.2.3.00004.

  • There are no MSP430 simulators for CCS. Sorry.

  • Does it mean that there is no way to read out the firmware from CC430F (MSP430 Core)?

    Or are there any third party tools available?