ModusToolbox Safety Test Library
Loading...
Searching...
No Matches
CPU (CPU STL module)

General Description

CPU Module does 3 tests:
1) CPU register Test
2) Program Counter Test
3) Program Flow Test

More Information

1) CPU register Test: The CPU registers test detects stuck-at faults in the CPU registers by using the checkerboard test. This test ensures that the bits in the registers are not stuck at value '0' or '1'. It is a nondestructive test that performs the following major tasks:

 1) The contents of the CPU registers to be tested are saved on the stack before executing
    the routine.
 2) The registers are tested by successively writing the binary sequences 01010101 followed
    by 10101010 into the registers and then reading the values from these registers for
    verification.
 3) The test returns an error code if the returned values do not match.

2) Program Counter Test: To test these registers, the checkerboard test is commonly used; addresses 0x5555 and 0xAAAA must be allocated for this test. 0x5555 and 0xAAAA represent the checkerboard bit patterns. Functions that are in Flash memory at different addresses are called.

3) Program Flow Test: For every critical execution code block, unique numbers are added to or subtracted from complementary counters before the block execution and immediately after execution. This procedures allows verification of whether the code block is correctly called from the main program flow and check if the block is correctly executed. Provided there are always the same numbers of exit and entry points, the counter pair will always be complementary after each tested block.

API Reference

 Macros
 
 Functions