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.

Boot Strap Loader (BSL) - Customization & Clarifications

Other Parts Discussed in Thread: MSP430F5438, MSP430F5438A

IDE: IAR5.10
MCU: MSP430F5438 &  MSP430F5438A

I am trying to understand the detailed capabilities of customizing the BSL on the 5438A. By default, the RX and TX pins are polled, "bit-banged" and are physically setup to work with PIN1.1 and PIN1.2. The factory BSL seems to take up close to 2KB (BSL max).

Please help me address the following questions:

  1. Can I change the RX and TX pins to utilize a UART peripheral with interrupts?
  2. If I can use the RX & TX with interrupts for BSL, is there a way to differentiate between BLS and application interrupt?
  3. Since the BSL can be invoked at anytime by the described state diagrams in SLAU319A, what happens upon return from BSL? Does the MCU reset? Is RAM data retained?
  4. While in BSL mode, can the RAM data be accessed?

Thanks!

  • Hi,

     

    1.  Yes.  The pins can easily be changed (see the device_file.h).  Interrupts are a little more tricky, as you can't use the Interrupt vector table since they are outside BSL memory and would also presumably point to your application ISRs, but could use a vector table stored in RAM (see the 5xx User's Guide for more info here)

    2. No, except as I stated above, the BSL/Application would have to each have their own ISRs, so it would be differentiated that way.

    3. You can start your application from the BSL, however for security the BSL clears RAM on start-up.

    4. The BSL can read/write and do anything it wants in RAM... it is a normal MSP430 application whose only special quality is that it can be invoked through a special sequence, and lives in a specially protected flash area.

**Attention** This is a public forum