MSPM0G3107: Unable to upload code and debug using CCS IDE .

Part Number: MSPM0G3107
Other Parts Discussed in Thread: MSPM0G3507

Tool/software:

I am currently using the latest version of Code Composer Studio (CCS) IDE. However, whenever I try to start a debug session for my project, I encounter the attached error message. when I was working with an older version of CCS using the exact same project and setup, I did not face this issue — the project built and debugged successfully without any errors.   

Regards,

Abhijeet D

  • 1. Please try to read boot diagnostic value and send it to me.

    2. please clarify the process that you did before seeing this issue

    3. please try factory reset to recovery the device by following below instruction

    For CCS unlock MSPM0, please refer to https://www.ti.com/lit/pdf/slaaed1 7.1.4 Unlock Through CCS

     

    If common steps is not workable, please try to repower the MSPM0, and keep PA18 high, MSPM0 will enter BSL mode.

    Then try to connect MSPM0 DPA port in CCS target configuration. (Show all cores – connect DAP).

    DAP connect: right click MSPM0G3507.ccxml file in CCS project, start project-less debug, there will factory selection in Menu - Script

     

    1. Hardware check, check power supply(customer defined, 3.3V), check Vcore voltage(1.35V).
    2. Check XDS110 connection with PC, it’s in your PC’s device manager list.
    3. Optional, Firmware that can confirm whether M0 is running in the application.

    This will help you to confirm whether you entered BSL mode successfully.

    1. Method1: Run Factory Reset Auto script in CCS – target configuration
    2. Method2: Connect DAP, Run Factory Reset Manually script in CCS – target configuration (Need manually push Reset button)
    3. Method3: Entering BSL mode, connect DAP, then run Factory Reset Manually script in CCS – target configuration (Need manually push Reset button)

     

    Here is the method that can help reduce the MSPM0 lock frequency because of the signal quality issues:

    1. Reduce the length of the debug cable(SWDIO and SWCLK) between XDS110 and MSPM0.

    Within 20cm is OK, 10cm is better.

    1. Reduce debugger SWD speed, double click .ccxml file, then change the speed in TI XDS110 USB Debug Probe
    2. Program main and nonmain region separately
  • Hello Helic,

    I have tried all of the steps mentioned above, but unfortunately it is still not working for me. I am following the exact same procedure that I used earlier, when it was working correctly on our hardware. Interestingly, I have another project that runs without any issues on the same hardware using the updated IDE. However, my older projects are showing the error that I shared with you.

    Regrads,

    Abhijeet D

  • Do you modify nonmain in your issue project?

    You can send me your project.

  • PFA zip file of my project .

    [Helic]: Remove the file since I downloaded it.

  • I check your firmware, 0x0 data is 0xF

    And in your linker file, you set all code start from 0x4000.

    But Arm cortex M0+ core keep start CPU from 0x0.

    .intvecs:   > 0x00000000

    At least, you need put your int vector start from 0x0, make sure CPU can jump to app starting from 0x4000, Or you need add a boot start from 0x0 to do the CPU jump function, and then you can keep app start from 0x4000.

    How to recovery:

    Do factory reset in BSL mode.

  • Even If I init the vector start from 0x0000 and app starting from 0x0000 .
    The error is still there.

  • you need recovery your device first, because of the existing invalid firmware in MSPM0

    Do factory reset in BSL mode.

    If common steps is not workable, please try to repower the MSPM0, and keep PA18 high, MSPM0 will enter BSL mode.

    Then try to connect MSPM0 DPA port in CCS target configuration. (Show all cores – connect DAP).

    DAP connect: right click MSPM0G3507.ccxml file in CCS project, start project-less debug, there will factory selection in Menu - Script

     

    Please refer to my modification:

    MEMORY
    {
        FLASH_INTVCT    (RX)  : origin = 0x00000000, length = 0x00000400
        FLASH           (RX)  : origin = APP_START, length = 0x00020000 - APP_START
        SRAM            (RWX) : origin = 0x20200000, length = 0x00008000 - 0x8
        SHARED_RAM      (RW)  : origin = 0x20207FF8, length = 0x8
        BCR_CONFIG      (R)   : origin = 0x41C00000, length = 0x00000080
        BSL_CONFIG      (R)   : origin = 0x41C00100, length = 0x00000080
    }
    
    SECTIONS
    {
        .intvecs:   > 0x00000000