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.

MSP432P401R: Can software update be done over BSL UART if RX and TX are connected?

Part Number: MSP432P401R

I am using MSP432P401R MCU with pins P1.2 and P1.3 used for BSL. Because of apllication requrements multiple pins are connected together.

Question is: will BSL work if RX and TX pins are connected? 

BSL will be invoked with Flash memory erased and/or software called BSL function. 

  

  • Marko,
    Please clarify if I am misunderstanding what you mean by connected.

    The UART BSL is bidirection and half-duplex. It is recommended two wait at least 1.2ms after receiving data from the MSP432 BSL before sending the next command. However, it is my understanding that the eUSCI peripheral in UART mode will actively drive the TX pin and not go to a high impedance state. This means that if both RX and TX are tied together you will have contention between the MSP432 BSL TX and the host TX.

    The BSL is open source (software-dl.ti.com/.../index_FDS.html ) and you could edit the BSL so that it would meet your requirements - specifically you would force the TX to a high impedance state while in receive mode and then transition to the UART TX when in send mode.

    I will reach out to my colleage to see if there are any additional considerations.

    Regards,
    Chris
  • Hi Chris 

    You understood it correctly.

    My further question is: how can we configure pins to high impedance if the Flash main memory is already erased. 

    Regards,

    Marko   

  • Marko,
    If you have a new device, main flash memory erased and factory BSL is located in flash information memory, then in this scenario when the device powers up the boot code will see that the memory is erased at locations 0x0 and 0x4 (stack pointer and program counter) and jump to the factory BSL which will look for any communication activity on the SPI/UART/I2C. If the TX and RX are shorted together, then I believe you will not be able to program the device via the UART BSL. You would need to access the device via jtag or SWD in order to program.

    Again, the factory BSL resides in information memory, which is flash and can be reprogrammed. You would need to specifically program the device with a custom BSL before soldering the device to the board which has the TX and RX tied together. If the BSL is the only way to program or update the device once soldered to the PCB, then you would need to pre-program before assembly.

    Regards,
    Chris

**Attention** This is a public forum