Im working on a non safety project and as part of the Initialization tests I wanted to check the internal memory of LPC1778 for proper functionality before beginning the application.
I dont intend to test all the addresses as its not feasible for the application. Im planning on implementing this 3 in 1(ALU,RAM and ROM) test the following way:
1.Store an array of 32 numbers in ROM(const array) whose member values are powers of 2. Example-> 1,2,4,8...upto 2 power 32(since LPC1778 has a 32 bit data bus)
2.Read these values from ROM(const array) and write them into an array of size 32 located in RAM(non-const array allocated on stack by calling a function that declares such an array locally).
3.Compare each value in the local array to a value calculated by the ALU(left shifting bit by bit).
Is this sufficient to test or must I also check for short of address bus(if they are shorted and i try to write to an invalid location wont the exception handler be triggered?)
Also, must i also check for other operations by the ALU like addition,subtraction,NOT,XOR etc..
I also have the Code Checksum stored in a external flash that will be compared against by calculating it in the code during runtime.
(Checksum calculated in code==Checksum read from flash)
Any suggestions. Please help.
Im using Keil IDE.