A method for external access detection and recovery in at least two processing subsystems within a system-on-a-chip, SoC, in a portable computing device, PCD, each of the at least two processing subsystems comprising a processor, a memory, a sensor, and a monitor module, wherein the processor is in communication with the memory, the sensor and the monitor module, the method comprising: operating each of at least two processing subsystems of the SoC in a first mode independently of and electrically isolated from each other and from the rest of the SoC while the SoC is in a low power state; in each of the at least two processing subsystems of the SoC: detecting with the monitor module a request for access by the processor to a component external to the subsystem; and in response to the detected request for access to the component external to the subsystem, sending a notification signal from the monitor module of the processing subsystem to the processor notifying the processor that the component is external to the subsystem, in response to receiving the notification signal, determining, by the processor, whether the detected request for access to the component external to the subsystem is the result of an error in some code or routine operating on the subsystem processor or within the subsystem operating in an island mode and if so: initiating, by the processor, an error handling routine to try and correct the error with the processor of the processing subsystem; after error clean-up has been performed by the error handling routine: causing, by the monitor module, the SoC to enter a full power state and the processing subsystem to operate in a second mode that allows the processing subsystem to access the component external to the subsystem. operating each of at least two processing subsystems of the SoC in a first mode independently of and electrically isolated from each other and from the rest of the SoC while the SoC is in a low power state; in each of the at least two processing subsystems of the SoC: detecting with the monitor module a request for access by the processor to a component external to the subsystem; and in response to the detected request for access to the component external to the subsystem, sending a notification signal from the monitor module of the processing subsystem to the processor notifying the processor that the component is external to the subsystem, in response to receiving the notification signal, determining, by the processor, whether the detected request for access to the component external to the subsystem is the result of an error in some code or routine operating on the subsystem processor or within the subsystem operating in an island mode and if so: detecting with the monitor module a request for access by the processor to a component external to the subsystem; and in response to the detected request for access to the component external to the subsystem, sending a notification signal from the monitor module of the processing subsystem to the processor notifying the processor that the component is external to the subsystem, in response to receiving the notification signal, determining, by the processor, whether the detected request for access to the component external to the subsystem is the result of an error in some code or routine operating on the subsystem processor or within the subsystem operating in an island mode and if so: initiating, by the processor, an error handling routine to try and correct the error with the processor of the processing subsystem; after error clean-up has been performed by the error handling routine: causing, by the monitor module, the SoC to enter a full power state and the processing subsystem to operate in a second mode that allows the processing subsystem to access the component external to the subsystem.