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.

IAP (In application programming) for MSP430FW427

Other Parts Discussed in Thread: MSP430FW427

We are using the controller MSP430FW427 in our project (for SCAN IF interface)

As the controller does not have UART - we have designed soft uart using timer A0

I want to know whether there is any way to change the firmware in the controller using IAP (In application programming), so that we can program the controller through this uart port as we may not have access to the ISP (In system programming connector  or JTAG  connector) on site 

  • refer to slaa341.

  • Studied the slaa341 application note. The uart used in this program is the controller's integrated usart. The MSP430FW427 controller does not have the built in usart, we have used a soft uart using timer A0. How do i change the assembly code for flash monitor for same . Is the sample code for flash monitor in 'C' language. 

  • Almost all MSPs have a bootstrap loader (BSL) pre-programmed. This BSL uses (except for devices with USB controller) a timer-based software UART for communication.
    If you use the same pins in your applicaiton software UART, you can simply switch from your application to the BSL if you want to enter BSL mode.

    Also, you can collect the new firmware by any othe rmeans you can imagine, and rewrite the flash at runtime. However, this leaves a certain window in which an interruption would leave the device functionless (the timeframe in which the interrupt vector table and the receiving/flashing code are erased and rewritten).

    If you use the forum search ('custom BSL'), you'll find some approaches how to circumvent this (e.g. a double-jump vector table and a fixed bootloader code that both never get replaced during update)

    A suggestion: if the 32k flash of the 428 are enough for your applicaiton, you can use a 429 instead and store the update in the excess flash completely, before starting the update (double-buffering). You'll also get the ram doubled.

**Attention** This is a public forum