2007-04-16 09:35 PM
2007-04-13 10:09 AM
2007-04-13 07:23 PM
It could be a hardware problem. In case of poor PCB board layout, switching noise could feed into the WE input of the RAM chip overwriting its contents. Make sure you follow best practices for PCB board layout. Also make sure you have enough decoupling capacitors on the PCB. One capacitor per pair of IC power supply pins is good practice. Resistors on the digital outputs (like address bus outputs) help reduce switching noise. By the way, there is no need to pull unused IO port pins low: at power-up MCU ports have built-in weak pull-ups switched on.
Regards, - mike2007-04-16 02:45 AM
Mike, thanks for your reply,
But our design is EMC compliant and if the PCB design is poor the error it would take place in random form (by noise) or many cells, but that it doesn't happen. When I read a cell on SRAM only two fixed cells in RAM are overwrited!!! the other cells works fine, and this happens in different Prototype boards (in same cells address)!!! Regards, RL2007-04-16 03:47 AM
I had a look at the memory test code you used. In a situation like this there are many test you can perform. For example, you could run a test using 16-bit bus accesses. Also you could try different order of addresses and different data patterns. Tests like these could narrow down the search. Once you have a short piece of code reproducing the problem, you can monitor activity on the external bus with a scope to see where it goes wrong.
Regards, - mike