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.

MSP430F5438A-EP: Custom MSP430 BSL @ 115200

Part Number: MSP430F5438A-EP
Other Parts Discussed in Thread: MSP430F5438A, MSP-GANG


I have been testing a developing a custom BSL for the MSP430F5438A, which essentially comprises of the stock TI BSL that is shipped with this part but uses a custom peripheral interface. (This BSL uses the UART pins @ P3.4 and P3.5 for serial comms to the BSL.) I have been happily testing flash updates on MSP when speaking to it with host CPU at a baud rate of 115200. Then I came across an excerpt from SLAU319AD:

"Applying baud rates other than 9600 baud at initialization results in communication problems or violates the flash memory write timing specification. The flash memory can be extensively stressed or can react with unreliable program or erase operations."

...which somewhat threw a spanner in the works. I then came across this forum post which includes an account from a user (Zrno Soli) who has happily used baud rates of 1Mbps with no issues:

My question: am I able to safely use my BSL with a baud rate of 115200? I configure the UART to run at 115200 from initialisation (i.e., within the BSL 'PI_Init' function), and not after initialisation through using the 'Change baud rate' command (which I have actually removed from the BSL to free up BSL flash space).

Best regards,

  • Hi KM,

    This device's BSL operates at 9600 baud by default.  There are UART commands that allow other baud rates.  As long as you establish communication with the BSL @ 9600, you can then safely change to a higher baud rate.

  • My comment on linked topic is related to MSP-GANG BSL.

    If you are making custom version you can do (if you know how) whatever you want with it. You can go over 1Mbps without problems (or any other value, until UART BR error is small) and implement flash block write (instead of one by one byte / word write) to make it more faster. Just take care to not brick device, because JTAG fuse value is stored at the end of last BSL segment.

  • Hi Dennis and Zrno,

    Thank you for your prompt responses. Exactly what I wanted to hear.

    I have been super-wary of that JTAG lock feature, and thankfully yet to still brick a device (touch wood!)

    Best regards,