Soft Reset vs Hard Reset

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User17079
Level 1
Level 1
Hello,

I'm using TC277 controller. What are the significant differences are between Hard reset and Soft reset?

What will happen to the contents of DSPR memory immediately after each type of reset?

Thanks!
Sivakumar M.
0 Likes
12 Replies
cwunder
Employee
Employee
5 likes given 50 likes received 50 solutions authored
You would need to provide more details on what you mean by "Hard" or "Soft" reset.

Concerning the DSPR RAM contents after any reset depends on what you have programmed in the FLASH0_PROCOND setting. Please review the user's manual and look for the bitfields RAMIN and RAMINSEL.
0 Likes
User17079
Level 1
Level 1
Hi Cwunder,

Your hints helped to learn about RAMIN and RAMINSEL.
According to my understanding from the tc27x user manual, if RAMIN and RAMINSEL are configured in DFLASH_UCB with 0x00, then all the RAM region (PSPR, DSPR, SRAM) will be erased before entering the software, for any type of reset.

But this seems to be not happening in my case.
I trigger a software reset through SCU_SWRSTCON and when the controller reaches the software entry point, I checked my RAM and they were not erased. i.e. holding the values that were present before the reset. Please refer to the attached screenshot showing the RAM region, FLASH0_PROCOND and the software entry point.
Please also note that a debugger was connected.

Could you please let me know what is preventing from the RAM region to be cleared before entering the software?

Thank you!
Sivakumar M.
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
Check SCU_RSTCON.SW - the default reset type for a software reset is 2 (Application Reset), which will not cause RAM to be cleared. If you change it to 1 (System Reset), you should see what you're after.res
0 Likes
User17079
Level 1
Level 1
Hi Wrangler,

Thanks for the hints. I changed the reset type from Application to System and verified. Still the RAM variables are intact at the time of entering the software. Please see the screenshot.
Is there anything else that I'm missing?

Thanks!
Sivakumar Ml.
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
Sorry, my mistake - RAMIN only applies to Cold Power-On Resets (power applied) and Warm Power-On Resets (PORST asserted externally). It does not apply to System Reset (i.e., SWRSTREQ) or Application Reset.
0 Likes
User17079
Level 1
Level 1
Does this mean that it is not possible to clear the RAM contents while triggering a reset through the software (SCU_SWRSTCON) ?
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
Correct. On TC3xx it's a little easier: you could trigger an LBIST via software, which the startup firmware treats as a cold power-on reset.

It is possible to erase RAM with the Memory Test Unit. Initializing memory with the MTU is much faster than with the CPU. See application note AP32197: Memory Tests using the MTU.
0 Likes
User17079
Level 1
Level 1
Where can I find the AP32197 ?
0 Likes
cwunder
Employee
Employee
5 likes given 50 likes received 50 solutions authored
Sivakumar_M wrote:
Where can I find the AP32197 ?

myICP for the TC2xx devices
0 Likes
User21698
Level 1
Level 1
When I initiate a SW system reset, the debugger (lauterbach) seem to hang in SSW. The original BMHD start-adress is not loaded.
Is this operating ok so? Or do I something wrong (debug configuration on rest: RunRestore, no HALT !)
How can I initiate a PORST out of the software.... without redirecting PORSTfrom external SBC....
If LBIST is the only way for restarting the AURIX, how can I trigger an LBIST via software during runtime?
0 Likes
User21698
Level 1
Level 1
When I initiate a SW system reset, the debugger (lauterbach) seem to hang in SSW. The original BMHD start-adress is not loaded.
Is this operating ok so? Or do I something wrong (debug configuration on rest: RunRestore, no HALT !)
How can I initiate a PORST out of the software.... without redirecting PORSTfrom external SBC....
If LBIST is the only way for restarting the AURIX, how can I trigger an LBIST via software during runtime?
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
You can trigger an LBIST from software via LBISTCTRL0.LBISTREQ: see page 652 of the User Manual.

There's a "Safety Kit" application note coming out soon that has a sample implementation.
0 Likes