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.

Problem with MSP430F5255 UART based custom BSL

Other Parts Discussed in Thread: MSP430F5438A, MSP430F5255, MAX3232, CC3200MOD, CC3200

Hi,

I am working on MSP430F5255 BSL for updating firmware from UART.  I am just using the code example MSP430F5438A BSL code(UART/USB/I2C/Timer) available in slaa450c.pdf document and changed the same code to work with MSP430F5255. But I found the explanation for BSL core command framing in slau319I.pdf document and followed the same.

I just connected TXD and RXD pins to PC through the MAX3232 level shifter. And trying to give the commands to the controller, but it is not giving any response (or)error commands. 

When I am trying to give the wrong commands like wrong header and length, it is responding with error commands. But when  I am trying to give proper commands the code is not responding with any type of Command.

Please suggest if anything I am doing wrong. And I need the following clarifications & suggestions from you.

-What are the hardware connections required for this communication from PC to controller with UART for BSL update?(In documents I found that the RTS and CTS pins are required)

And finally, I am going to interface my MSP controller(MSP430F5255) to CC3200MOD for this firmware update through UART.

What are the IO's required for communicating CC3200 with MSP430F5255 for UART BSL?

Note: In my application I already having the UART communication(TXD & RXD) between CC3200 and MSP430F5255?

Please suggest the solution ASAP.

Thanks,

Vivek

  • Hello Vivek,

    A few things here I'll try to point out to you. Please bear with me for since this is a split-rail device, the BSL is handled a little differently. The reason for this is that there are multiple ways to get into the BSL depending if you are in the DVCC domain or the DVIO domain.

    Are you aware that the MSP430F5255 already has a UART BSL preloaded into the device? If you do not need to customize the BSL further, and only need the UART interface, I would suggest using the pre-loaded BSL.

    As for accessing the BSL and what connections are needed, please refer to the following documents. The first document mentions MSP430F522x/F521x, but is applicable to the MSP430F5255 as well. the main difference will be the actual pin numbers which will be clarified in the second document. This document explains the split-rail device BSL in general and different caveats with the split-rail devices.
    www.ti.com/.../slaa558

    Second, I will point you to the device's datasheet which explains the specific pins needed for BSL entry and comms for this device. www.ti.com/.../msp430f5259

    Please see Table 3-1 describes which devices in this family come with I2C BSL or UART BSL.
    Section 6.5 describes the bootloader interfaces for this chip with section 6.5.2 describing UART Interface. Please keep in mind that there are different entry sequence/pins for the different domains. Tables are also provided explaining the required pins for each invoke.

  • Vivek,

    Did this information help you?
  • Hi Jace,

    No, still I am facing problem with this UART BSL.

    Now, I just left my custom BSL. And I am trying to communicate with the existing BSL(factory default) in the chip(MSP430F5255). 

    I tried both Hardware BSL and software BSL for Invoking the BSL mode. And trying to communicate from BSL scripter.exe through MSP-FET430UIF debugger interface.

    Here I am using DVCC mode(By shorting DVIO with DVCC).

    Hardware Invoking:

    Used the connections which are mentioned in the MSP430F5255 datasheet for DVCC mode.

    Software Invoking:

    When I receive some character 'R' from UART, I am calling BSL address location as below: 

    if(rec_ch == 'R')
    {
    //if(!(BIT2 & P4IN))
    //{
    debug_Transmit('R');
    __bic_SR_register(GIE);
    ((void(*)())0x1000)();
    //((void (*)(void))0x1000)();
    //}
    }

    But, in both the cases I am not succeeded. 

    And I am also tried to communicate from COM port of my PC to the controller through MAX3232 level shifter. But in scripter log I am getting access denied.

    Please suggest what are all the connections and pins required between the MSP-FET430UIF debugger and the MSP430F5255 controller for communicating with BSL of the controller from the BSL scripter.exe

    And also give me the exact procedure for this BSL communication from BSL scripter.exe.

  • Hello Vivek,

    I see what your issue sis now. The MSP-FET430UIF does not support BSL. You need the newer MSPFET, or the BSL Rocket to do BSL. Please see the MSP Debuggers app note that describes which debuggers can program which devices with different interfaces. http://www.ti.com/lit/slau647

**Attention** This is a public forum