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.

CCS/TMS320F28335: How to read out program flash using CCS or Uniflash?

Part Number: TMS320F28335
Other Parts Discussed in Thread: UNIFLASH

Tool/software: Code Composer Studio

Hello,

I am debugging why the same code works in some boards and not in others.  One of the tests we want to do is to read out the program (in the internal flash of the DSP) from the good board and program the bad boards with the result.

Looking into it, I cannot find a way to extract the program using CCS 5.2, Uniflash, or Signum On Chip Flash Programmer.  Uniflash can calculate the checksum, which means it can read the flash as "data" but not read the program and save it to a file?

Am I missing something?

Thank you.

  • Stefani,

    See if this helps: e2e.ti.com/.../573119

    Thanks and regards,
    Vamsi
  • Vamsi,

    Thank you for replying.

    This is what I found:

    ".... can dump the flash memory from CCS memory window. Click on green button in memory window ..."

    Memory window is Memory Browser in Debug. The green button is an arrow.

    Must go into "Debug mode" first, otherwise the arrow button in Memory Browser will not turn green.
    "Load symbols only" for Debug. Otherwise it will program the flash.

    Is there a way to do the Memory Browser and "press the green (arrow) button)" without actually going into Debug mode?

    Thanks.
  • Stefani,

    I think it is the only way via GUI.

    Thanks and regards,

    Vamsi

  • Stefani,

    As Vamsi mentioned, you can only access the Memory view in CCS after connecting to the target in debug.

    There is also the "Export memory" feature in UniFlash. In UniFlash v4, you can go to the "Memory" tab, click on "Read Target Device" and then click on "Export" to save the memory to either binary or COFF format.

    Thanks,
    Ricky
  • Hi Ricky,

    Thank you so much for replying to my post.

    I had tried using UniFlash as you suggested, but the program area is all 0xFFFF.  I use "Program Page" , Address 0x0030,0000.

    What am I missing here?

    Thanks.

  • Stefani,

    1. You don't want to export the program from the good board and load on to the bad board. You should export the same memory region on both devices and compare if they are the same

    2. if you are getting all 0xFF it means the flash memory was not written. Erased flash memory have values of 0xFF. Make sure you are actually giving the right address of the program

    3. are you loading a .out file or a .bin file to the devices? If you are using .bin then you have to specified the address, you need to use that as your export address.

    if you are loading a .out file, you can use compiler tools in <ccs_install>\ccsv7\tools\compiler to figure out the address of your program. A simpler way is to use the memory browser window to see the memory first then export to make sure you have got the right stuff.