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.

Linux/MSP432P401R: Example for Linux to flash MSP432 using Bootloader BSL Scripter via UART

Part Number: MSP432P401R

Tool/software: Linux

Hi,

i downloaded the BSL Script here

http://www.ti.com/tool/MSPBSL

 and  i want to flash my MSP432 that is connected via UART to a embedded Linux machine. 

I dont want to use any comm bridge like XDS110 or MSP-BSL Rocket board.

Is it still possible to flash my MSP without this bridges? Because the MSP is located on the same board as the embedded linux and the communication is running already on UART.

As faar as i understood the BSL let the user read/write to its memory.

Is there an example of flashing the ouput .out/.hex file from CCS using this script?

The examples provided only mass erase the device and/or set passwords, blink leds...

  • Michael,
    Thank you for your question. I am reaching out to a colleague to see what is and will be available.

    Regards,
    Chris
  • I am still awaiting feedback, but thought that this thread might be helpful.

    e2e.ti.com/.../573324

    Chris
  • Hi Michael,


    For MSP432, it surely could be implemented without XDS/MSP-FET.

    The connection that you require:

    1. BSL-TX (data from PC to MSP432 target)
    2. BSL-RX (data from MSP432 to PC)
    3. VCC
    4. GND

    In the User's Guide of BSL Scripter, there is a FAQ section that explain how the invocation of the MSP432 works. The BSL Scripter will send the 0xFF at the beginning to invoke the UART BSL on the device. then the communication should start. So basically, we are using the same script, you have to unlock the BSL with password, erase the main memory (if necessary), and then flashing the the output .txt/.hex (.out is not supported by BSL Scripter). There is also a command-line interface function in the BSL Scripter v3.2.1.


    Please let me know if you need further assist.

  • Hi,

    thanks for your answer, you save my day =)

    The BSL-TX and BSL-RX could they be at any UART from the MSP432?

    At the moment i am using UCA3RXD at PORT9.6 and UCA3TXD at PORT9.7

    So how could i write my code like this:


    MODE FRxx UART 115200 /dev/tty0

    /gives the wrong password to
    //mass erase the memory
    RX_PASSWORD pass32_wrong.txt
    RX_PASSWORD pass32_default.txt


    --write myProject.hex --verify

    -v myProject.hex

    What is the Default password from the MSP432?

  • So found a MSP432 Example on how to download the blink project into it:

    LOG
    MODE P4xx UART 115200/dev/ttyACM0
    RX_PASSWORD_32 pass256_wrong.txt
    RX_PASSWORD_32 pass256_default.txt
    MASS_ERASE
    //RX_DATA_BLOCK_32 Blink_LED.txt
    //RX_DATA_BLOCK_32 Blink_LED.hex
    TX_BSL_VERSION_32
    TX_DATA_BLOCK_32 0x0000 0x4000 Blink_LED.hex
    //TX_DATA_BLOCK_32 0x0000 0x4000 ReadBlock_MSP432P401R.txt
    //TX_DATA_BLOCK_32 0x0000 0x4000 ReadBlock_MSP432P401R.hex
    REBOOT_RESET

    So could it be like this? My UART is set to 115200 on the MSP and the "Blink_LED.hex" would be my project file.
    Did i miss something or is this correct?
  • Hi Michael,


    you are welcome, I am glad that helps!

    As fas as I know and I asked the developer of BSL and referring to user's guide, we use the P1.2 for BSL-RX and P1.3 as the BSL-TX.

    BSL password is simply the data in memory address 0x0-0x100 (256 bytes). When you have your device not programmed, that means the default password is that all 0xFF. When you are giving the wrong password, all parts of flash main memory will be erased.

  • Hi Michael,

    the "//" means the same in C, it comments out the line.
    so here, you choose the file that you are going to download.

    LOG
    MODE P4xx UART 115200/dev/ttyACM0
    RX_PASSWORD_32 pass256_wrong.txt
    RX_PASSWORD_32 pass256_default.txt
    MASS_ERASE
    RX_DATA_BLOCK_32 Blink_LED.hex
    REBOOT_RESET

**Attention** This is a public forum