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.

msp432 boot loader

Other Parts Discussed in Thread: MSP-FET, MSP-GANG

Hi

1. i need an explanation on how to program the FLASH of the MSP432:

- i am designing a board with the MSP432. How to connect the chip for enabling programming the FLASH via UART?

- can you explain the procedure from hard ware point of view (the signals that are needed to enable the boot loader).

2. where can i find a data about the jtag connector (connector type and signal connections)

Best Regards

Alon

  • Hi Alon,

    For #1:
    Please see the BSL User's guide www.ti.com/.../slau622 section 3.1 Physical interfaces. You can see that it says "The specific instance of the peripheral interface that is used depends on the selected device and can be found in the device-specific data sheet. This information is also part of the Device Descriptor Table (TLV) table, which is used by the BSL to select the correct instance of the interface." I'm assuming that you are using the MSP432P401R device? If so, the datasheet is here: www.ti.com/.../msp432p401r If you see section 6.10.3 it has a list of the pins needed for the comm8unication interface depending on which BSL you are using (e.g. for the UART BSL you need P1.2 RX and P1.3 TX). It also discusses different BSL invocation methods - if you want to have a hardware invocation of the BSL, you can select a pin to be used for the hardware invocation by setting it in the flash mailbox - see the BSL user's guide SLAU622 section 4.3.2.

    So for enabling UART bootloader, you need the TX and RX pins mentioned above, and if you are using a hardware invocation method you also need whatever pin you have previously specified in the flash mailbox (Note that there are other ways to invoke the BSL, discussed in the BSL user's guide SLAU622 chapter 4.3)

    If you want to try out the BSL, we provide the BSL-Scripter software here, that you should be able to use with the MSP-FET and your PC as the BSL host: http://www.ti.com/tool/mspbsl

    For #2:
    This previous post might help: e2e.ti.com/.../1943264

    Regards,
    Katie
  • hi

    i read the answer above and still there it is hard to understand.

    i am now designing a board with the chip MSP432P401R. The chip will be programmed via the uart port.

    1. can you explain, upon power up how the chip switch to program mode? i could not find any hardware application that relate to this issue.

    2. how do i configure the mailbox (assume that the flash is erased or the data in the flash corrupted) ?

    2. what hardware do i need in order to have the option to switch the chip to program mode? 

    Thanks

    Alon

  • Hi Alon,

    1. By default, with a blank/virgin part, it will come up in BSL mode at power up. So in that case all you need are the default BSL UART TX and RX pins that I mentioned in the post above, P1.2 RX and P1.3 TX. You can use BSL Scripter that I mentioned above to try this out if you'd like - just use a blank or factory reset part, and connect to these pins. It will send the correct BSL commands over UART from your PC, you just need something to interface your PC COM port with the TX and RX on the board (MSP-FET could do this I believe as it includes pins that can be used for the BSL TX/RX).

    2. I'm looking into what could be done here and will reply again soon - I think at first programming on the blank part you may be able to configure this. I'm also looking into checking how the device decides it is blank and should enter BSL mode - if it is only checking the RESET vector being blank, you may also take the extra precaution of programming the RESET vector last.

    3. Some of this is mentioned above about if part is blank all you need is TX and RX, and then you could use MSP-FET, some other production programming tool like MSP-GANG, or some other device on your board to do the actual programming. If part is not blank and you have configured the hardware invocation via the flash mailbox, I think that is just a simple GPIO pin that you could use to control from one of the above tools or from your host device to invoke the BSL. When you set up the GPIO pin in the flash mailbox, you also configure the polarity (high or low) that you want to be used for triggering BSL entry.

    Regards,
    Katie
  • Hi Alon,

    For #2: As I mentioned, the very first time on a blank part the BSL will automatically be entered. Then, you can use the BSL to write to the flash mailbox and you could use this to set up your hardware invocation pin, before you load anything into your part - that way you have set up a way for you to get back into the part in the case of a failed load. There is a GUI that we recently released that can help you configure your flash mailbox - you can configure the bootloader desired interface and hardware invocation pin, and generate a TI-txt file (binary image) for the flash mailbox contents that you then can load into the part via BSL, and then do a reset for the settings to take effect before you do the rest of your programming. www.ti.com/.../msp432-security-and-update-tool

    I hope that this helps.
    Regards,
    Katie
  • Hi Alon,

    Did this resolve your issue - were you able to get it working?

    Regards,
    Katie
  • Hi Katie

    i am still in the schematic design process but your answer is very clear and helped me understand what i need in order to program the chip.

    Thanks again

    Alon Shemesh 

  • Great - glad to help!

**Attention** This is a public forum