Other Parts Discussed in Thread: MSP430F2272
Hello,
I’m working on a MSP430F2272 and I’m trying to do an update by UART using the following method:
When I’m flashing by JTAG, I write the firmware A at address 0x8200. When I’m updating by UART, I write the firmware B at address 0xC200.
name origin length used unused attr
---------------------- -------- --------- -------- -------- ---- --------
APPCRCA 00008000 00000200 000000c0 00000140 RWIX
FLASHA 00008200 00003c00 0000353a 000006c6 RWIX
BACKUP_ISR 0000be00 00000200 00000000 00000200 RWIX
APPCRCB 0000c000 00000200 00000000 00000200 RWIX
FLASHB 0000c200 00003c00 00000000 00003c00 RWIX
If the update is successful (CRC check), I replace the Interrupt Vector Table A (at the default location 0xFFE0) by the Interrupt Vector Table B and I reset the MSP430.
Then, the firmware B runs but unreliably. As an example, the application implements a custom communication protocol over UART: In firmware B, the protocol detects CRC errors often where in firmware A those errors are very rare.
Have you any idea what might cause this behaviour change.
Best regards,
Vincent Gonet