Hello Grzegorz,
Both MCUs are tested to work down to -40°C, therefore I would like to check a few things with you.
Random ROM errors (here flash), is also sometimes called bit-flip when you have one/several bits of byte reverting to their state before programming.
The common reason is wrong flash programming timing which makes the flash cell not contain enough electrical charges. And, through normal charge migration, will make the level of the bit-cell changing after some time.
RAM errors cannot happen like that, even at 0°C. Common RAM corruption comes from low voltage condition or erratic code execution (like code runaway or stack corruption).
Random Resets is difficult to predict and debug through. And, because of the other 2 problems mentioned, I would expect Resets to occur. I mean, if the ROM and RAM are corrupted, the code is likely to be corrupted and therefore the CPU will either execute an illegal Opcode or will jump to an illegal address, both generating a reset.
For all these reasons, I would
first concentrate on the Flash corruption, then look at the RAM and finally consider the Resets.
- Can you give us an idea of the number of pieces failing and total number of pieces ?
- Can you show us the oscillator you use ? (Unlikely to cause the trouble though)
- Also, do you use in-circuit Flash programming in your application ?
- If yes, can we cross-check the timing configuration with you ? (Clock divider vs. Bus/PLL clock)
- Which programmer do you use ? (brand + model + Revision + Software name)
Cheers,
Alban.
PS: if you chose to also enter a Service Request, may you please send me the reference number via Private Message so I can keep both discussions synchronized ?