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.

MSPM0L1306: I can't reset it even after following the steps

Part Number: MSPM0L1306
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

I'm using LP-MSPM0L1306.

When trying to write software again after having written the software once, the following error occurs:

Filed to retrieve the Wait in Reset Mode: (Error -6311) PRSC module failed to write to a register.

When I perform a factory reset, the following error occurs:

CS_DAP_0: Trouble Reading Register SECAP_RCR: (Error -2131 @ 0x2020C) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 20.2.0.3536)
CS_DAP_0: GEL: Error while executing GEL_DAPInit_SECAPCommand(): Target failed to read register SECAP_RCR
at ('REG'::SECAP_RCR&0xFFFFU) [mspm0_cs_dap_init.gel:247]
at GEL_DAPInit_WaitForResponse() [mspm0_cs_dap_init.gel:426]
at GEL_DAPInit_SECAPCommand()

I can't write software or do a factory reset, so is there any solution?

  • Hello,

    It seems that your MCU has been locked. You can try to do below steps: 

    1. Please close CCS and check your hardware connection, and re-connect Launchpad with PC
    2. please try to connect PA18 to VCC, this will let MCU enter into BSL mode, then you try to do factory reset
    3. if method 2 can't resolve this issue, please try to keep press Reset button and then "Launch Selected Configuration" and then choose "Mailbox_factory reset_auto" in
      "Scripts" directly and when you see 'SEC_AP Reconnect" , release Reset button, check whether this can do factory reset

            4. If method 2&3 is not useful, please check whether DAP core can be connected using CCS. "Launch Selected Configuration" -> "Show all cores" -> right click "CS_DAP_0" and click "connect target", check whether CS_DAP can be connected 

          5. If it can be connected, you can try to read BOOTDIAG for debug. Notice this guide file is based on CCS Theia (CCS20x)

    Read_CFGAP_BOOTDIAG_Theia.pdf

    6. If all these methods can't help, maybe you need to change another Launchpad. And if you modify the NONMAIN in your code, please make sure you didn't write some wrong or strange data into NONMAIN

    Best Regards,

    Janz Bai

  • Janz Bai

    Thank you for your reply. Steps 2 and 3 did not work, but step 5 loaded the BOOTDIAG log and showed the following values: What should I do next?

  • Hello,

    The meaning of each bit of BOOTDIAG is shown as below figures 

    According to the results "0x36", the root cause is the CRC error in boot stage. After discussing with my colleague, it is mainly related to NONMAIN region. It means that there maybe some error in your NONMAIN region, which cause NONMAIN CRC error. 

    Please check:

    • If you use Sysconfig to configure NONMAIN, please double check the data you set doesn't have any wrong value (NONMAIN register, you can refer to TRM)
    • If you have some code about modifying NONMAIN, please double check whether you erase NONMAIN and write value in NONMAIN correctly
    • Check whether you set write protection to NONMAIN before. If your before code set write protection to any region of NONMAIN, and this time you want to modify the same region, this may cause CRC get from your NONMAIN code and from your factual NONMAIN data is different.
    • If you want to erase and download NONMAIN, please don't forget to choose “Erase MAIN and NONMAIN memory (see warning above)

  • Janz Bai

    Thanks for telling me the reason

    I checked the settings but I honestly don't understand.

    I deleted the part of the code that was trying to write to the NONMAIN area. I did a factory reset again, but it still doesn't change.

    Syscfg Configuration NVM and CRC settings are shown below.
    Could you please tell me what needs to be corrected?

  • Hello,

    I forget to let you check one point, if you want to do factory reset, you need to connect RST line in hardware level. And if you have connected RST but you can't do factory reset yet, it maybe means your MCU NONMAIN has been damaged because of some reason, such as wrong data is written into NONMAIN.

    I let you check your code and configuration is because the reason why you can't download or do factory reset is most possibly MCU NONMAIN has been damaged. Do this check is to let us know what is the root cause and prevent the next unit from being damaged. This check won't change the results of factory reset because factory reset has no relationship with the detailed app code. 

    You can change to use another Launchpad, and disable the CRC module & NONMAIN module firstly, check whether you can download the app code. Then enable NONMAIN configuration module in sysconfig and check whether you can still download the app code. Then add CRC module and check it. After that, add NONMAIN code which you deleted at the start and check whether you can download the app code. Step by Step, you can check which module is the root cause.

    And if all method I provided for factory reset is not useful, it means the chips has been locked completely.

    The configuration you shared with me seems no problem. I suspect that the code you write which is related to NONMAIN may have some error, for example, write wrong data into NONMAIN or write data into NONMAIN region which should not be written in.

    By the way, please check 

    Best Regards,

    Janz