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.

MSP432E401Y: UART Bootloader with USB to UART converter

Part Number: MSP432E401Y
Other Parts Discussed in Thread: UNIFLASH,

Hello,

I'm using a flash bootloader over UART on my MSP432E401Y, which I program via UniFlash.

It works fine when using the XDS110's UART, but not when using an external converter, such as an FTDI FT232.

After checking with an oscilloscope, I saw that UniFlash sends its first packet ([55][55]), MSP432E4 answers but UniFlash says it doesn't. 

Then UniFlash should send the next packets as when working properly, but doesn't. 

Is it possible to use UniFlash to upload code via UART using an external USB to UART converter ?

Thanks.

Regards,

Victor Tolosana

  • Hi Victor,

    Is there a reason USB to UART is used instead of UART to UART communication or USB to USB communication? There was a similar thread to this issue which involves using a similar setup, the thread can be found here. I don't believe UniFlash has been updated since the creation of the thread, so the same issue seems to be a compatibility with using UniFlash to communicate with the MCU and an external converter.

    Regards,

    Luke

  • Hello Luke, 

    Thanks for your answer.

    USB to UART is used because it's on a custom board and we need to use this communication port to update the MCU's firmware. 

    Is it possible via UniFlash CLI ?

    Or with an other tool ?

    Thanks.

    Regards,

    Victor

  • Hello Victor,

    1. For the UniFlash CLI I could not find resources on how to solve the USB to UART communication issue using a USB to UART converter like the FTDI FT232.

    2. Your initial question title was using UART Bootloader with USB to UART converter. Another tool can be used.

    For hardware to bridge the USB to UART, I found our BSL-Rocket tool that can update the application firmware on the MSP432E401Y. The BSL-Rocket product page is found here MSPBSL and can be found to purchase here MSP430-BSL. The MSP432E4 Bootloader User's Guide explains how to do the bootloading and on section 3.1 you can see a BSL Hardware Setup overview.

    For the software side you can use the BSL Scripter command line tool with the rocket. The user's guide for the BSL scripter can be found here BSL Scripter User's Guide.

    Regards,

    Luke

  • Hello Luke,

    1. Ok, thank you, after testing I found out that it doesn't work (works like the GUI version).

    2. Yes, I know, but on our custom board there's no direct access to any UART, only via a USB port connected to a converter (FTDI FT230X).

    It seems like the rocket and the XDS110 on the launchpad communicate with UniFlash/BSL scripter not only using UART but through other USB endpoints. I suppose this is the problem, as a generic converter won't do this part. 

    I wonder if there's a way to disable this extra communication or use an other software tool.

    Regards,

    Victor

  • Hi Victor,

    The BSL rocket allows for the PC to connect to it via USB then the BSL rocket will connect to the target device via UART (or I2C or SSI). The generic system setup picture was showing how to connect when you wanted to do any of the update types (USB,UART,I2C,SSI,Ethernet).

    I'm having trouble visualizing the setup, can you clarify on what connections are being made?

    For example; Host -> USB -> BSL-Rocket -> UART -> Target. or Host -> connection type -> bridge -> connection type -> target.

    Thanks,

    Luke

  • Hi Luke,

    Our custom board is in an enclosure and only a USB port is accessible. This port is wired to a converter and then to the UART on the MCU.

    So we have :

    Host -> USB -> USB to UART converter -> UART -> Target

    Thanks.

    Regards,

    Victor

  • Hi Victor,

    If you're using your custom board to program the MCU and the custom board runs on Windows/Mac OSX/Linux then you can use the BSL Scripter tool with the BSL-Rocket hardware tool to update the MCU firmware. The USB can connect the custom board to the BSL Rocket, then the BSL rocket can use UART to connect to the target board (MSP MCU). Here, is an overview video on the process MSP Bootloader BSL Overview. The BSL rocket acts as the translator (performs a similar function to the FTDI FT230X in this BSL specific case) between the USB and UART connection. I don't believe that the UniFlash program supports the USB to UART, but the BSL scripter and BSL-Rocket do.

    Are there any other concerns or questions you have?

    Regards,

    Luke

  • Hi Luke,

    No, the custom board is MSP432E401Y + various peripherals, including a UART to USB converter.

    I still have a question : does UniFlash use the same code as BSL-Scripter ?

    Thank you.

    Regards,

    Victor

  • Hi Victor,

    Thanks for clearing up the custom board, are you wanting to do everything on the custom board instead of using an external device like the BSL-Rocket? 

    UniFlash does not use the same code as the BSL-Scripter. After looking through more places there might be some additional things we can try with the UniFlash and the current setup you were using. So, let's go back to your original setup where you had UniFlash send the first packets and the MSP device answered.

    Can you give me the UniFlash command line command you are using and UniFlash settings you had configured? 

    Thanks,

    Luke

  • Hi Luke,

    Yes, that's the point, as I can't access any UART on the board, except for the one which is connected to a converter and then to a USB port. 

    I used the "Load Image" button on the "Program" tab in "MSP432E401Y(BOOTLOADER)"

    These are the parameters I used were as follows :

    Regards,

    Victor

  • Hi Luke,

    Any news about this topic ?

    Regards,

    Victor

  • Hi Victor, 

    I seemed to have missed the earlier reply. Let's try to isolate the problem and see if its the connection between the MSP MCU and FTDI or UniFlash.

    1. Are you able to scope the RX/TX lines on the MCU to make sure it is receiving the packets correctly, and then transmitting the correct response?

    2. Is it possible to check that the FTDI is sending the correct information in response?

    3. Does changing the UART speed have any effect on the response? (remember to change it on the MCU when you change it on UniFlash)

    Regards,

    Luke