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.

TMS320F28377D: Flash programming issue after power off or reset

Part Number: TMS320F28377D
Other Parts Discussed in Thread: CONTROLSUITE

Hi ,

We are using TMS320F28377D DSP and can able to program core 1 through TI example code for CPU1 ( blinky ) in to Flash .

After power on/off  or resetting the DSP , this code is not able to store in Flash . After reading it from DSP program memory all value showing 0000.

The hardware is custom build. 

Kindly support.

Code taken from ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Cpu1\blinky\cpu01

  • Hi Shree,

    High level things to check would be the below:

    • Are you using the Flash build config for this project in CCS? i.e. Flash linker CMD file being used
    • Are default boot mode pins set to correct state on PCB for boot from Flash
      • GPIO72 & 84 pulled HIGH

    Also see the E2E below for further info:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/878674/faq-flash---how-to-modify-an-application-from-ram-configuration-to-flash-configuration

    Best,

    Kevin

  • Hi Kevin,

    Thank you for your reply

    • Are you using the Flash build config for this project in CCS? i.e. Flash linker CMD file being used ------Yes 
    • Are default boot mode pins set to correct state on PCB for boot from Flash GPIO72 & 84 pulled HIGH -----Yes 

    Following sequence of operation we have observed in this case

    Step

    GPIO72

    GPIO84

    Status

    Mode of operation

     

    Boot 1

    Boot 0

     

     

    1

    1

    0

    Flash Erase Successfully  

    Wait boot mode

    2

    1

    1

    Program Successfully in Flash

    Get Mode (Multiple times we program DSP and able to program till power on /off)

    3

    1

    1

    After Power on/ off

    Get Mode

    4

    1

    1

    Not able to program  

    Get Mode

    Below are the error we observed multiple time  .

    IcePick_C_0: Error connecting to the target: (Error -233 @ 0x0) The JTAG IR and DR scan-paths cannot circulate bits, they may be broken. An attempt to scan the JTAG scan-path has failed. The target's JTAG scan-path appears to be broken with a stuck-at-ones or stuck-at-zero fault. (Emulation package 9.7.0.00213)

    -----------------------------------------------------------------------------------------------------------------

    C28xx_CPU1: Trouble Writing Memory Block at 0x5f452 on Page 1 of Length 0x1: (Error -1041 @ 0x5F453) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 9.7.0.00213)  

    C28xx_CPU1: GEL: Error while executing OnTargetConnect(): Target failed to write 0x0005F452@Data 

     at *((int*) 0x5F452)=0xFFFF [f28379d_cpu1.gel:81] 

     at OnTargetConnect() 

    C28xx_CPU1: Error initializing flash programming: Interface returned from dll, but flash is not available on this device. 

    C28xx_CPU1: Failed CPU Reset: (Error -1041 @ 0x0) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 9.7.0.00213)  

    C28xx_CPU1: Error: (Error -1135 @ 0x829F6) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 9.7.0.00213)  

    C28xx_CPU1: Unable to determine target status after 20 attempts 

    C28xx_CPU1: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging 

    C28xx_CPU1: GEL: Error while executing OnReset(-1): Could not write 0x0005D122@Data: target is not connected 

     at *((long int*) 0x5D122)=0xA5A50000 [f28379d_cpu1.gel:28] 

     at OnReset(-(1)) 

    C28xx_CPU1: GEL: Error calling OnPreFileLoaded(): Reset failed: retcode=-1 

    C28xx_CPU1: File Loader: Verification failed: Could not write 0x082000@Program: target is not connected 

    C28xx_CPU1: GEL: File: C:\Users\EE6636\OneDrive - tdkgroup\Desktop\D_Data\cpu01\CPU1_FLASH_STANDALONE\cpu01_to_cpu02_ipcdrivers_lite_cpu01.out: Load failed. 

     

    Best Regards

    Shree

  • Hi Shree,

    After programming and CCS still connected what happens when you begin running the project? Does JTAG disconnect then?

    If you're only able to reconnect to the device in Wait Boot Mode after programming and power-cycling then it may be the code that is executing that prevents you from reconnecting over JTAG. i.e. may be putting the device into a certain state.

    This and other JTAG debug topics are discussed in this App Note: https://www.ti.com/lit/spracf0

    Best,

    Kevin

  • Hi Kevin

    We try all options 

    1) By Keeping the connection of JTAG as it is -Result not able to program 

    2) By removing JTAG Cable from controller -Result not able to program 

    3) By removing the JTAG USB cable from laptop -Result not able to program 

    4) Restarting the CCS --Result not able to program 

    5) Even restarting the PC--Result not able to program 

    --------------

    3

    1

    1

    After Power on/ off

    Get Mode

    4

    1

    1

    Not able to program  

    Get Mode

    After above steps , JTAG is not able to connect with DSP and CCS , DSP will get program only when we will change the mode once again to wait boot mode as below and erasing the complete flash then after DSP gets program multiple times as long as power is ON. once we will turn OFF power then same problem as above. 

    1

    1

    0

    Flash Erase Successfully  

    Wait boot mode

    Regarding the code , we are using the TI example code for CPU1 ( blinky ) ,

    Code taken from ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Cpu1\blinky\cpu01

    Also we have check the waveforms at all JTAG pins, when in both situation when DSP program and not program , those are same. 

    Similarly we also checked VDDIO,VDD voltage levels in both situation when DSP program and not program , those are same. 

    Regards

    Shree 

  • Hi Shree,

    Regarding the code , we are using the TI example code for CPU1 ( blinky ) ,

    Code taken from ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Cpu1\blinky\cpu01

    It may be that you need to switch to Wait boot mode to reconnect while the device is running this program from internal FLASH. I will try testing it on my end to see.

    Best,

    Kevin

  • Hi Kevin,

    Any further updates , Do you feel that this is controller (IC) related issue .I check TI sites for purchase of  TMS320F28377D  DSP bit it seems it is not avalible.

    Kindly suggest.

    Best Regards

    Shree

     

  • Hi Shree,

    What is the state of the TRST pin when trying to re-connect to CCS? The JTAG debug probe will only be able to connect when TRST is HIGH.

    It's not clear to me what you mean by "not able to program". Are you able to connect to the target in CCS, but not able to program the flash? Or something else.

    Best,

    Kevin

  • DSP issue.pdf

    Hi Kevin,

    Thank you for your response please find attached document for your reference .

    Best Regards

    Shree

  • Hi Shree,

    The signal that is being probed in the images is TRST? correct?

    Is the issue that after programming, power-cycling, and running the LED_blink example in standalone mode that they cannot reconnect to CCS over JTAG? And TRST signal is pulled HIGH when trying to reconnect?

    Best,

    Kevin

    Edit: The example is being run in FLASH build config? just to verify.