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.

MSP43067791 : Jumping from application to bootloader

Other Parts Discussed in Thread: MSP430F67791

Hi Guys,

This is my first post and my first time working with MSP430,

I want to implement a code to make a jump to Bootloader section from application code upon receiving a string from GSM module using UART.

Currently I am working on MSP43067791..

I have gone through the app note provided by TI related to bootloaders, but was unable to grasp the solution.

Can someone please help me to understand the process, as I am facing difficulty in getting things started. Just a brief about how to get things running would help me to great extent

Thanks,

Sharir Haan

  • Hi Sharir,

    The native BSL, as described in the MSP430 Programming With the Bootloader (BSL) User's Guide (SLAU319), requires a RESET and BSL Entry Sequence similar to that shown in Section 1.3 and cannot respond to the custom entry sequence that you are describing. I would therefore assume that you are trying to implement MSPBoot (SLAA600) on the MSP430F67791? This requires a custom command linker file and specific application image format sent by the host, there are several examples available for other MSP430 derivatives that you can view as a guide. Since this is your first time working with MSP430 I would reconsider the possibility of using the native BSL for your needs, there are tools like the BSL-SCRIPTER that are readily available to use and you can still connect the GSM module to P2.0 (transmit) and P2.1 (receive). The only trick is controlling the RST and TEST lines with the GSM. Expanded support of MSPBoot incorporating OAD applications is expected for release in the near future, but it neither supports your MSP430 derivative or the module mentioned.

    Edit: See below, calling the BSL from the software application is supported on this device.

    Regards,
    Ryan

  • Ryan,

    I have not used MSP430F67791 yet and do not know the specifics. It is my understanding that the all factory loaded BSL can also be invoked by user code without generating the Entry Sequence. By design, user code can use Branch to 0x1000 to run BSL. If user code is written in c, have a function pointer points to 0x1000 and call it will do the trick too.

    The caveat is, some version of TI factory BSLs assume (and depend on) system or peripheral registers have the BOR values and may not work if the user code changed them before it Branches to 0x1000.

    --OCY
  • OCY,

    You are correct and I apologize for the previous misinformation, the entry sequence only applies to starting program execution at BSL RESET upon device power-up. Calling the BSL from the software application is supported on F6xx devices and is explained in Section 3.8.1 of SLAU319. No other preparation is necessary for this device other than disabling interrupts and setting the pointer.

    Regards,
    Ryan
  • Ryan and OCY,

    Thanks a lot for your valuable responses,.
    I will try the procedures as suggested by you and let you know if I was able to successfully implement it..

**Attention** This is a public forum