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 Soft vs. Hard Reset

I'm debugging a msp430 LaunchPAD with CCS. I want to mimic power cycling of my device by stopping and restarting debugging. I don't want to reload the code everytime. Does the soft reset button most closely mimic power cycling? Doing some research I found that soft reset "doesn't touch the clocks." What does this mean?

http://processors.wiki.ti.com/index.php/Emulation_Resets

Thanks!

  • There are multiple types of RESET on MSPs.
    The most complete is the brown-out-reset (BOR) which happens at power-on. Pulling the RST line low will also lead to a BOR. Next is the power-on-reset (POR) It won't initialize all the hardware. E.g. the SVS configuration is excluded (the SVS is triggering an POR) and the BSL entry sequence won't be checked.
    Last is the power-up-condition (PUC). Most of the hardware modules will be initialized on a PUC, but not everything. One example is that the timer modules won't be touched (on a PUC, they will continue counting/capturing etc - Even the timer interrupts are still active and will fire as soon as GIE is set).

    I don't know what 'soft reset' means. It might mean a PUC, or even just an initialization of the CPU and jumping to the reset vector (in which case none of the hardware modules will be reset at all, including clock system) The latter case would be a restart of the application but not of the hardware.

    Well, you can test it by configuring the hardware and then checking the registers after a soft reset.

  • Hi Rachel,

    If you want to be able to physically power cycle your launchpad without reloading code after you've already programmed your part the first time, for subsequent debug sessions you can set it up to enter debug without re-loading the code. This is often something people want to be able to do to confirm that their in-system writes to non-volatile Flash or FRAM are working correctly - if you reload code it would wipe out previous flash/fram contents because it would mass erase the part before reprogramming.

    To debug your project without re-loading the code, click the dropdown arrow to the right of the debug icon, then select Debug Configurations from the dropdown. Now a window will open - go to the Program tab and under "Loading options" select "Load symbols only". Now you can click Apply and Debug. When you do this, you will load the debug information (where variables are etc) for the CCS debugger, but the part itself will not be erased and reprogrammed.

    This way you can even unplug and replug your launchpad, then start a new debug session without actually overwriting or re-loading code.

    Note: Don't forget to set the Debug Configuration back to Load program when you make a code change that you need to program into the part.

    Hope this helps!

    Regards,

    Katie

**Attention** This is a public forum