Hi frnds,
while POWER ON the system i am checking External RAM memory.... but i am not checking the external RAM periodically.....whether the periodic test is needed are not???? Please clarify my doubt....
That depends a lot on your needs etc.
Detect a problem or detect and repair?
How often is the data modified?
For static or semi-static data, you may consider checksumming structures, and regularly verify the contents.
If you are looking for individual cell errors, you must walk through all cells, and try patterns while synchronizing with the normal operation.
If a data line fails, your program will probably fail quite quickly unless it doesn't have critical state info there.
If an address line fails, you will have to walk the different areas and check for alias-related changes.
For errors in individual cells, you can normally quite easy write programs that can continue to work unhindered. For a failed data or address line, you will have a hard time to write a program that can continue to use the external RAM - the complexity of work-arounds make them too dangerous to add.
In the case of multiplexed memory, data and address lines are normally the same.
I forgot to mention one thing.
Are you looking for corrupt memory contents from sw bugs or from glitches in power supply or radiation? Or are you looking for permanently damaged memory cells/signal lines?
I have to check the memory if any location corrupted or not.....
... is to a large extent a residual from the olden magnetic core days. Today the likelyhood of a RAM failure is extremely small.
I have to check the memory if any location corrupted or not the only way to do that is to have 3 copies of the data. If, however, you mean I have to check the memory if any location bad or not then several algorithms are available. However to make such a test relevant, you need to be able to change Vcc to min and max for the test.
Erik
View all questions in Keil forum