One of the great many problems in testing mobile devices are memory problems. But what's more difficult is isolating whether the memory problem is in the software, OS or hardware? Here's some great advice I read on LinkedIn in the Embedded Systems Group posted by Martin Lund. Note: I believe you need to be a member of the group to view the link, but I could be wrong.

Eliminate the variables in your testing first before adding onto the layers of variables. I have found this to be all too true in my own embedded testing.

They key is to build confidence in the hardware by running as many tests as possible using test firmware, preferably before the OS is loaded. In most situations, the first test you want to run is a full memory test running at your maximum clock configuration to make sure memory is stable. As you point out, unstable memory can really waste a lot of resources. I have experienced a situation where we booted the OS successfully but spent weeks trying figure out why some of the peripheral devices failed just to finally find out that an unstable memory configuration was the culprit. Suffice to say, I will never make the mistake of not running memory tests during board bringup again [img]/images/graemlins/smile.gif[/img]