??? 02/05/13 03:32 Read: times |
#189314 - probable cause Responding to: ???'s previous message |
Daniel,
If your code on the 'F231 contains routines which write or erase flash memory, the most likely cause of the flash corruption you are seeing is due to "runt clocks" being fed to the CPU as your fingers disturb the crystal operation. If the minimum high/low times for the system clock are not met, the opcode read from flash will be incorrect, resulting in unpredictable behavior. Most commonly, branches are decoded as "something else", and program control falls through the instruction to the next function in the address map. Many of the other responses are indicating power rise/fall and EMI behavior, all of which are additional flash corruption risks. However, because you are seeing the failures coincident with touching the crystal pins, I believe this is the root cause. An easy test is to repeat your experiment running from the internal oscillator and see if the failure stays or goes away. We have a pretty good appnote on flash corruption sources and mitigation techniques. Document URL's change all the time, so I recommend Googling: Silicon Labs AN201. Best regards, Brent |