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/TMS320F28377D: CPU2 Load Error

Part Number: TMS320F28377D

Tool/software: Code Composer Studio

Hi,

I am working on c2000 launchpad and able to work on both cpu's from a couple of months. From last week when I was trying to load CPU2 with the program it is giving out the following error.

C28xx_CPU2: Error during Flash programming (Flash algorithm returned error code). FMSTAT value = 0. Operation Cancelled (0).
C28xx_CPU2: File Loader: Memory write failed: Unknown error
C28xx_CPU2: GEL: File: C:\Users\Bala Grandhi\Documents\Nikola_SVN\Nikola_SVN_InverterStuff\Inverter Software\InverterTMS320Ctrl\03_Software\ApplicationSoftware\ApplicationSoftware_cpu2\CPU2_FLASH\TMS320Ctrl_ApplicationSoftware_CPU2.out: Load failed.

When I flash some example projects from TI on each of the CPU's then it is working fine. I didn't change anything in my cpu2 program from the time it was working fine.

Also, I tried flashing my CPU1 and CPU2 program on a different launchpad then it is working fine without any errors. So the problem is with my specific launchpad itself that too with my project itself.

Can someone help regarding this?

 

Thanks,

Bala Grandhi.

  • Bala,

    Did erase succeed?  Or is that failing too?  

    Did you program any security settings via GUI or executable?

    What is CPU1 doing when CPU2 Plugin operations are in progress?

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    Thanks for the response.
    Yes Erase is succeeded. It is failing only when I am programming.
    I didn't program any security settings. But I programmed OPT memory to make CPU2 to BOOT to FLASH. I have done that long before and it worked fine with that.
    CPU1 is in halt mode stopped at main() function call .

    Regards,
    Bala.
  • Bala,

    Thank you for the details.
    How are the boot mode pins configured? Try wait boot. I understand you programmed the OTP setting for CPU2 to boot to Flash. This is ok when debugger is connected, if you don't configure EMU_BOOTCTRL.

    However, you said erase is passing. Can you try to keep CPU1 in a dummy loop instead of debug halt and see if CPU2 succeeds? Please try and let me know.

    Thanks and regards,
    Vamsi
  • Vamsi,

    Boot mode pins are in Get Mode state right now. I tried changing to Wait mode but was not able to flash.

    So, I reverted the Boot mode pins to Get Mode and kept the CPU1 in dummpy loop and tried loading the CPU2. Still I got the same error as before.
    I doubt if there something wrong with my project settings. I will clean up my workspace and will give it a try.

    Thanks,
    Bala.
  • Bala,

    OK, let us know how it goes.

    Thanks and regards,
    Vamsi
  • Vamsi,

    I tried that but no use. Still getting the same error. Not sure what to do.

    Thanks,
    Bala.
  • Bala,

    Thank you for the update.

    1. Generating debug server logs might help for further debug. You can generate the logs via "CCS Help menu -> CCS Support -> Select Debug Server Log -> Click on Properties -> Select Enable Debug Server Logging + Choose a log file location -> Click Ok". Please generate and share them.

    2) Can you also select the "Enable Verbose Output" option provided at the bottom of the On-Chip Flash GUI in CCS (Tools menu -> On-Chip Flash)? Send us the console window output when it fails loading to Flash.

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    Below is the console input when I am loading CPU2 with .out file.

    Also find the log file attached.

    C28xx_CPU2: Writing Flash @ Address 0x0007821c of Length 0x00000004 (page 0)

    C28xx_CPU2: PLL configuration status = 1. PLL configured successfully.

    C28xx_CPU2: Erasing Flash Bank 0, Sector A

    C28xx_CPU2: Erasing Flash Bank 0, Sector B

    C28xx_CPU2: Erasing Flash Bank 0, Sector C

    C28xx_CPU2: Erasing Flash Bank 0, Sector D

    C28xx_CPU2: Erasing Flash Bank 0, Sector E

    C28xx_CPU2: Erasing Flash Bank 0, Sector F

    C28xx_CPU2: Erasing Flash Bank 0, Sector G

    C28xx_CPU2: Erasing Flash Bank 0, Sector H

    C28xx_CPU2: Erasing Flash Bank 0, Sector I

    C28xx_CPU2: Erasing Flash Bank 0, Sector J

    C28xx_CPU2: Erasing Flash Bank 0, Sector K

    C28xx_CPU2: Erasing Flash Bank 0, Sector L

    C28xx_CPU2: Erasing Flash Bank 0, Sector M

    C28xx_CPU2: Erasing Flash Bank 0, Sector N

    C28xx_CPU2: Error during Flash programming (Flash algorithm returned error code). FMSTAT value = 0. Operation Cancelled (0).

    C28xx_CPU2: File Loader: Memory write failed: Unknown error

    C28xx_CPU2: GEL: File: C:\Users\Bala Grandhi\Documents\Nikola_SVN\Nikola_SVN_InverterStuff\Inverter Software\InverterTMS320Ctrl\03_Software\ApplicationSoftware\ApplicationSoftware_cpu2\CPU2_FLASH\TMS320Ctrl_ApplicationSoftware_CPU2.out: Load failed.

    Thanks,

    Bala.

    New Text Document.log

  • Bala,

    As per TRM's Figure 2-22. Location of Zone-Select Block Based on Link-Pointer, addresses 0x0007821C and 0x0007821D are reserved. Your console window message (that you copied) shows that you are trying to program these locations. Please check. Do not map any thing to reserved locations.

    Let me know if that helps.

    Thanks and regards,
    Vamsi
  • Thanks for your help . This resolved my issue as I was programming cpu2 to make jump from boot to flash. I am wondering why it was giving out error beacuse it is working fine with other launhpads. Anyways after commenting out those lines where I am programming then it is working fine.
  • Bala,

    Glad that I could help. I am closing this post.

    Thanks and regards,
    Vamsi