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.

LP-MSP430FR2476: Software invoked BSL upgrade using an FTDI USB to serial cable

Part Number: LP-MSP430FR2476
Other Parts Discussed in Thread: MSP430FR2476, , UNIFLASH

All,

I am trying to perform a firmware update of the MSP430FR2476 LaunchPad board by communicating with the BSL via a serial connection, but I am unable to see the BSL respond to the TX_BSL_VERSION command.  I have read through many of the posts on the E2E forums over this topic, but I have not yet solved this issue.

Below is the code I am using to invoke the BSL via software, which is similar to the suggested invocation method in the MSP430 BSL User's Guide.  This code is a modified version of the LED blink project.

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
    __disable_interrupt(); // disable interrupts
    ((void (*)())0x1000)(); // jump to BSL

}

Below is an image of how the serial connection is being made with the LaunchPad board.

To program the device, I am using the following steps

  1. Reset the MSP430 by pressing the reset switch on the LaunchPad board
  2. Wait ~ 2 seconds
  3. Run BSL Scripter version 3.4.0.1 to issue the TX_BSL_VERSION command.

However, the BSL Scripter fails to successfully update, and has the following output

//
// Copy of script example FRxx UART BSL
//
//Device : MSP430FR2476
//Comm Bridge: FTDI USB-serial
//
//Download blink application through
//UART BSL in FRAM device
//
MODE msp430frxx UART 9600 COM17 PARITY
VERBOSE
        Verbose mode is now on!

TX_BSL_VERSION
        [80] [01] [00] [19] [e8] [62]
        [ACK_ERROR_MESSAGE]Unknown ACK value!

Data transmission from the device over COM17 has been verified using the OutOfBox_LP-MSP430FR2476 demo.

Are there any simple gotchas that someone can spot?  Alternatively, is there a way to perform an upgrade by communicating with the BSL over UART using BSL Scripter and the EZ-FET module on the LaunchPad board?

  • An additional piece of context; I am programming the code using the Uniflash application, NOT via Code Composer Studio or a debugger.


    Also, this should be the image of the wiring mentioned in my original post.

  • Hi Andrew,

    Looks like you are doing everything correctly. Try not using PARITY and see if that makes a difference.

    Regarding using the EZ-FET on the Launchpad, no, unfortunately it is not possible.

  • Dennis,

    Thanks for the feedback.  I removed the PARITY command from the BSL Scripter script but had the same result.  I also used another FTDI USB to serial cable, but still failed to communicate with the BSL.

    I will try investigating the TX and RX signals and post any information I found out later.

  • I may be seeing an issue with the BSL Tx line level.  Below is a capture from the logic port when running the code included in the original question.

    The row labeled "MSP430 Tx" shows that the Tx line is actually low, and is receiving a large amount of cross-talk with the Rx line.  However, this same wiring setup is nice and clean in the OutOfBox demo, and the TX pin is correctly pulled high when not transmitting, as shown below.

    Might it be that the BSL is not correctly setting up the Tx line?  Are there any peripheral setup steps that need to occur before invoking the BSL?

  • All,

    The issue was the voltage level used by the FTDI cable.  I had a 1.8 V FTDI cable, but the MSP430FR2476 requires a 3.3 V UART signal.

    Thanks again for the help Dennis L.

**Attention** This is a public forum