This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5529: BOR RAM Corruption

Part Number: MSP430F5529

Customer is using brown out reset (BOR) to trigger a reset to reboot the MSP430F5529. The reset works, however, the instruction prior to the reset (writing to RAM placed at a specific address) doesn’t appear to complete. In the example psuedocode below, the value at MemoryAtSpecificAddress.crc is incorrect following the reset:

      MemoryAtSPecificAddress.crc = Crc::CalculateCrc();

      PMMCTL0 = PMMPW + PMMSWBOR + (PMMCTL0 & 0x0003);

If they add two no ops between the CRC calculation and the reset, the value is correct after reset. Have you seen anything like this with brown out resets or writing to RAM that might help us explain what is going on here? They can send code snippets if it would be useful.

The product seeing the issue is running at 8Mhz, they have another product running at 20Mhz where the same code does not require no ops.

The addresses in question are at 0x1E00 – 0x1E0D. It is packed data, though they tried removing the pack and hand padding it but the same issue occurs.  I did point out that some SRAM locations can be modified by the boot code (refer to Section 1.9) after a BOR event. These SRAM locations, when available, are at SRAM locations 01CFAh through 01CFFh and 023FAh through 023FFh.

Any ideas?

Thanks,
Mark

**Attention** This is a public forum