When debugging the ADuCM320 it seem I cannot reset the part properly.
There are 2 reasons why that would happen.
First of all the incorrect reset type could be generated by the debug tools.
In uVision under project options > Debug > j-link/j-trace settings, make sure that the reset type is set as ADI Halt ofter Kernel
Or in IAR under project options >Debugger > j-link/j-trace, make sure that the reset type is Halt after bootloader
If that's configured properly then the other reason for the part not resetting fully is because the ADuCM320 has the ability to retian the state of the digital and analog outputs during a software and watchdog reset. This feature is enabled by default, so, for example, if you configure the GPIOs and then do a reset with the debug tools, the GPIOs will not be reset.
In order to disable this feature you need to add this code at the start of your program:
pADI_RESET->RSTKEY = 0x2009; //By Default Software and Watchdog resets don't reset the LV die and GPIOs
pADI_RESET->RSTKEY = 0x0426; //During debug it's useful that Software tools have the ability to reset them
pADI_RESET->RSTCFG = RSTCFG_GPIO_PLA_RETAIN_DIS;//So disable retain function during debug.
pADI_LV_RST->LVRST = LVRST_RETAIN_DIS; //disable analog output retain state
Retrieving data ...