My TMS570 platforms (Launchpads and proprietary boards) all experience occasional hangs on software reboot, that I can un-hang with Run->Reset->System_Reset (sometimes having to do Run->Connect_Target beforehand) using CCS. I believe some hardware is not "shut down" fully before the software reboot, so the new round of hardware initializations (via xxInit()) can't start. There are no xxShutdown() functions (to correspond to xxInit()), so provisions for graceful shutdown prior to boot-up. Run->Connect_Target doesn't do anything to connect CCS to the target, so there is no indication of where the target's PC is.
Could someone clarify what CCS does when executing Run->Reset->System_Reset? What would software need to do to replicate the same action(s)? I seem to recall the ARM having some registers to perform some reset-related activities, but don't know if these are relevant.
Thank you very much.