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.
Hello Support executive,
My task is to upgrade msp430 firmware over UART. I manage to make application which write firmware to msp430 flash memory. I have validated it by reading MCU flash memory.
I am facing problem in starting firmware after flashing over UART. Following command I am using.
1. Enter BSL mode with RESET and TEST gpio
2. mass erase msp430 flash memory so that we get bsl password reset to default.
3. set default bsl password.
4. write firmware over uart.
5. Exit bsl mode using RESET gpio.
After above command expected stuff is that we should get our firmware up and running but it seems that no firmware run inside chip. Also after above sequence if we flash msp430 via JTAG then also it did not work. So can any one guide me if we are missing something ?
Thanks,
Jignesh
The G2553 BSL automatically clears LOCKA [Ref BSL UG (SLAU319AD) Sec 2.4.4.4], so a mass erase erases InfoA, which contains the clock (CALDCO/BC1) constants. You can defeat this behavior by (pro-actively) clearing the BSLSKEY (0xFFDE) [Ref data sheet (SLAS735J) Table 5 note (7).
For the chip you have now, try removing any references to CALDCO_x and CALBC1_x from your code.
Thanks Bruce for clear suggestion, i manage to recover old chip with your suggestion. So now I will handle my application that it do not need to do mass erase.
Thanks,
Jignesh Patel
If your board has a 32kHz crystal, you can use Example msp430g2xx3_dco_flashcal.c to re-generate the CALDCO constants in InfoA:
https://dev.ti.com/tirex/explore/node?node=APXSlUhYWYfUi-lBT1UjXA__IOGqZri__LATEST
Hi Bruce,
We are using internal crystal, So do we have any example that can help me to recover old boards where I have erased infoA flash.
Thanks,
Jignesh Patel
To my knowledge that's the only Example that does this. The technique it uses is conceptually general -- at its core it's just an FLL driven by timer capture -- but as coded it assumes a 32kHz crystal on P2.6-7. I think there are some variant methods that could also work if you're willing to experiment.
The first challenge would be getting a "known-good" clock signal into the chip. Do you have access to e.g. P2.6-7?
**Attention** This is a public forum