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.

MSP-EXP430G2: Am I able to program another microcontroller with this any of the microcontrollers that come with this device?

Part Number: MSP-EXP430G2


Hi there,

I am doing a project for my degree and am looking to use this device. Part of the project is to program another microcontroller of the same kind using the Spy-Bi-Wire interface. I notice the SBW pins on the devices that come with the kit are only input. Is it possible to use this interface to program another micrcontroller using these microcontrollers?

  • Hi Kieran!

    You want to program another microcontroller with a microcontroller? If so, you cannot use the SBW pins of the source to program the target. But you could use some GPIOs of the source to control the SBW pins of the target. Or program the target via it's BSL functionality.

    Dennis
  • (A) Is the goal to program a standalone MSP but use external tooling ?

    Is this perhaps an alternative using SBW ? :

    - Using the G2 (2553-type) Launchpad to program an MSP430
    43oh.com/.../

    - Using to F5529 Launchpad as a programmer
    forum.43oh.com/.../

    (B)  Is the goal to have two standalone MSPs, where MSP#1 programs MSP#2 ?    (this is implied in your question) :

    - as suggested by the other poster, MSP#1 could start the BSL sequence in MSP#2.     SBW could be a challenge.

    Here is an old, but relevant TI app note where an MSP on a Launchpad (2231)  programs via BSL another MSP (2274)

    LaunchPad-Based MSP430 UART BSL Interface SLAA535A–August 2012

           --or--

    - you could write you own super simple loader protocol where MSP1 dumps data into MSP2, then MSP2 reacts accordingly.  Depends on your final goal.

  • My plan is B. The one issue I do see is when I want the second MCU to shift out data via SBW, an input only port won't be able to do that as far as I am aware. Am I wrong? I want to use SBW to flash and check the code of the other device using the in-built CRC.
  • My plan is as in B in the answer below. I have marked your answer as a solution however the one issue I do see is, when I want the second MCU to shift out data via SBW, an input only port won't be able to do that as far as I am aware. Am I wrong? I want to use SBW to flash and check the code of the other device using the in-built CRC.
  • SBWTCK is input (to the target), and SBWTDIO is bidirectional. This is how the programmer (MCU #1 in your case) retrieves data from the target (MCU #2).
  • Okay. So if I'm understanding this correctly, the F5437, which is used in the Replicator example, has an SBWTDIO I/O port that can be driven by the CPU at all times while in the G2553, the SBWTDIO can only be driven by the EEM during the programming procedure. Using the F5437 I could reduce the ports used to 3 in total but in my case, with the G2553, I need 4 ports; 2 GPIO ports to drive and program the slave and the 2 ports for the input SBW. The input only port spec is a bit confusing the first time. Thanks for the help.

**Attention** This is a public forum