3.1.2.1 DIAG_CPU_Registers()

diag_result_t DIAG_CPU_Registers (void )

Validates the CPU registers for stuck bits and coupling Faults.

The registers are tested in the following order:
  1. WREG

  2. TBLPTRL

  3. TBLPTRH

  4. TBLPTRU

  5. TABLAT

  6. PRODH

  7. PRODL

  8. FSR0L

  9. FSR0H

  10. FSR1L

  11. FSR1H

  12. FSR2L

  13. FSR2H

  14. STKPTR

  15. INTCON0

  16. STATUS  

    This test checks the integrity of the registers by testing for stuck-at Faults, insuring that the register bits are not stuck at a certain value. The test works in a sequential order by doing a write, read and check of the 0x55 and 0xAA values into the CPU registers. The register is saved into RAM before the test is performed and restored after the test is done.
    Parameters:
    None.
    Returns:

    DIAG_PASS - Indicates that the CPU register test did not detect a Fault

    DIAG_FAIL - Indicates that the CPU register detected a Fault