Diagnostic methods and systems for electronic devices are disclosed.
Separate dedicated diagnostic software code and operating code are
respectively executed in a diagnostic mode and an operating mode of an
electronic device. A determination may be made as to whether the
electronic device is to be operated in the diagnostic mode or the
operating mode when the electronic device is started, for example. A
transition to the diagnostic mode from the operating mode may also be
made in response to errors detected by online diagnostic tests performed
in the operating mode. Results of diagnostic tests are preferably stored
in a non-volatile memory for subsequent access, independent of the
operating software code.