We have an IAP binary loader that loads hex files via the ADuC7026 serial port. As it was not going to use any of the ADuC7026 analog peripherals that are used by the application firmware, we did not bother to power up the ADC block.
The problem we ran into was that even though we were initializing P0.7 to be a LOW OUTUT so that the binary loader would not turn on a servo heater, the servo heater was turning ON.
If we issued a GP0CLR HTR_ON after the initialization, the heater would turn OFF. We had reliability concerns because the initialization was working for disabling the servo-drives but not the heater. This problem drove us crazy. We compared the application code to the IAP binary loader code and by the process of elimination powered up the ADC block in the binary loader and the GPIO P0.7 initialized LOW OUTPUT then kept the heater turned OFF.
All we can think is that we have an analog GND and a digital GND tied together under the ADuC7026 as ADI recommends and that without the ADC block energized we did not have enough GND to sink the current required to shut down the heater.
Does anybody have some feedback on this?