CLASSB_SelfTest_FailSafe

Function

void CLASSB_SelfTest_FailSafe(CLASSB_TEST_ID test_id);

Summary

This function is called if any of the non-critical tests are failed.

Description

The self-tests for SRAM, Clock and Interrupt are considered non-critical since it may be possible to execute a fail-safe function after detecting a failure, if the fail-safe routine does not use the failed element on the microcontroller. Default implementation of this function is available in classb.c file. The function contains an infinite loop. Further code shall be added as per the application need.

Precondition

None.

Parameters

test_id - Identification number of the failed test.

Returns

None.

Example

if (classb_sram_status == CLASSB_TEST_FAILED)
{
    CLASSB_SelfTest_FailSafe(CLASSB_TEST_RAM);
}

Remarks

This function must not return to the Class B library since it is called due to a self-test failure. Avoid using features which depend on the failed component. For example, if self-test for clock is failed, it is not advisable to use UART for error reporting since BAUD rate may not be accurate. In the case of SRAM failure, avoid the use of function calls or variables in SRAM. The error reporting mechanism in this case can be an IO pin.