I have Cypress FRAM FM24W256 connected to MSP430f67791 via I2C. My code has five 32-bit integers and accumulates a different count in each of them. I have brown-out detection code which saves these 5 numbers to FRAM when voltage falls below 3V. On reset, I read the numbers back from FRAM and continue to accumulate data into them and send these numbers out via Xbee on a UART port. This code and logic works fine and I keep the controller running 24x7 for few weeks. I reset the controller multiple times during the day. But sometimes (say, once in 2 weeks), when I reset the controller, it reads a garbage looking value of 0x32323232 (842,150,400 decimal). When few other controllers failed, I noticed that they too show this garbage looking value of 0x32323232. I then read the entire 32K FRAM memory space and found that all bytes are 0x32. The FRAM memory space is all zeros on another FRAM which did not show this problem yet. Can anyone suggest why I see this same number in failing case ? Configuration- FRAM's WP,A0,A1,A2 pins connected to Gnd MSP430f67791 IAR 6.10.1 for development
↧