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/TMS320F280049: Unexpected flash programming issue with the TMS320F280049M

Part Number: TMS320F280049

Tool/software: Code Composer Studio

Hi,

We have been using the TMS320F280049M control card with the control card Docking Station (R4.1) without issues, but yesterday, in a usual code change + code flashing into the board work, the Microcontroller doesn't allow being programmed anymore. We're getting the following problem:

C28xx_CPU1: Warning: Failed unlocking device (zone 1) after reset.
C28xx_CPU1: Warning: Failed unlocking device (zone 2) after reset.
C28xx_CPU1: Trouble Setting Breakpoint with the Action "Remain Halted" at 0xc0be: (Error -1066 @ 0xC0BE) Unable to set/clear requested breakpoint. Verify that the breakpoint address is in valid memory. (Emulation package 7.0.48.0)
C28xx_CPU1: Breakpoint Manager: Retrying with a AET breakpoint
C28xx_CPU1: Error writing the PLL values. (Flash algorithm returned error code). Operation cancelled.
C28xx_CPU1: File Loader: Memory write failed: Unknown error

We tried with a Hello World Demo proyect from CCS, just to be sure that the problem is not in our code. If we use the Flash linker command file we get the above message again, if we use the RAM linker command file we get the following one:

C28xx_CPU1: File Loader: Verification failed: Values at address 0x000F5@Program do not match Please verify target memory and memory map.

Any help would be aprecciated, as it looks to us as if this chip is broken, locked or something like that...

Best regards,

Oier

  • Hi Oier,

    Could you please let me know the changes you made?

    Did you program DCSM OTP?

    Also, please refer https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/513103?tms320f28075-unable-to-program-flash 

    Thanks, Katta

  • As Katta, suggested, please review the changes you made to linker cmd file.

    Also in CCS memory watch window, open the any address in flash sector which you are trying to program and check the value. If you see all zeros then device is locked with password which could happen if you made incorrect changes to linker cmd file due to which some section got mapped to USER OTP location which contains security settings.

    Please check and let us know.

    Regards,

    Vivek Singh 

  • Hi, thank you both for the answers,

    The change we did was a #define inside the code, we didn't do any changes in the linker file.

    Looking at the datasheet I see that que OTP Memory is in the 0x70000 to 0x787FF, I don't see anything pointing to that address on our linker command file. For instance, we have succesfully flashed the code into another controlCARD (the same model number as the previous one) and it's working perfectly.

    I'm trying to read the memory of the chip but CCS doesn't allow me to see anything using the Memory Browser. As the flashing process fails, all the options in the Memory Browser Window appear greyed out. Is there a way to force the reading of the memory using the CCS?

    Thanks in advance,

    Oier

  • Hi Oier,

    As Vivek mentioned please check the flash sector content.

    You need not flash any binary.

    1. Restart the board.

    2. Connect using the device target ccxml.

    Now without loading any binary check the memory content. 

    Please let me know if you observe anything as Vivek mentioned.

    Thanks, Katta

  • Thanks for the answer, it looks like what happened is exactly what you say, all the Flash memory has 0s in value. However, I have no idea how can I have programmed this. ¿Is there any way to rollback?

  • Hi,

    Same way can you check value in USER OTP locations (0x70000 onwards). If you see any value non-zero in that region then please let me know the value and address.

    Regards,

    Vivek Singh

  • Hi, 

    The first non 0 value is in the Address 0x70040, and it contains the value 0xE939. There are more values in consecutive adresses until the address 0x70048 where 0s start again.

    Regards,

    Oier

  • Hi Oier,

    Can you please check the values in the address 0x78000 - 78800. If possible you can post the memory browser screenshots of these locations. These are the USER OTP locations which will affect the security of the device. 

    Thanks & Regards,

    Pramod

  • Hi Oier,

    Could you please reply to the above question. Did the issue get resolved?

    Thanks, Katta

  • Hi, sorry for the late reply.

    All the data in that memory region is 0x0000 in value.

    We haven fixed the problem, we're just using another sample. 

    Please, fin attached a memory dump of 2047 words staring from the address 0x70000. (Has I said, the 0x78000 - 0x78800 range is all 0x0000).

    Thanks in advance,

    Oier

    BrokenDSPMemory.dat

  • Hi Oier,

    Ok, as I understand, this particular issue is localized to only this sample. I mean, the same program when you tried to flash on other sample worked without problems. Is my understanding right?

    If the memory 0x78000 – 0x787FF is indeed all 0’s then the problem is due to the device zones getting locked and there are very remote chances of making it work again.

    We can still try to see what exactly is wrong with the device by checking the DCSM configuration(0x5F000 – 5F16F). You could post a snapshot of this memory region. I am looking for the contents of the following registers particularly 0x5F019, 0x5F059 and 0x5F07A. But I would prefer you sharing the memory contents of the entire DCSM registers.

    Thanks & Regards

    Pramod

  • Hi, heres a dump from the 0x5F000 to the 0x5F16F: BrokenDSPMemoryDCSM.dat

    I guess this chip is dead and there's no way of making it work again...

  • Ok. There it goes. Like I mentioned, almost all of the locations have been programmed 0 including the passwords. This chip cannot be revived.

     

    Thanks & Regards

    Pramod