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.

[msp430 Visual Studio add-in] What are the most popular on-chip debuggers?



Hi everyone,

We are making a Visual Studio extension to build and debug MSP430 firmware with GCC/GDB. We are currently using the mspdebug project to interface the hardware debugger (eZ430-RF2500, Olimex MSP-JTAG-TINY, Olimex MSP-JTAG-ISO, TI FET430UIF). However, it seems that mspdebug does not support all modern on-chip debuggers.

Is there any official list of the on-chip debuggers used for MSP430 microcontrollers? Are there other programs that allow using gdb to debug those?

That's how we integrated the mspdebug tool and we would like to add similar support to other hardware on-chip debuggers.

  • Well, MSPDebug is still under development.

    Most MSP software communicates with the MSPs through the MSP430DLL. Either the TI one (supporting the FET-UIF and most other TI FETs, including the EZ430 versions), or whatever comes with the FET used (e.g. the Olimex verison of the MSP430.DLL).
    The old mspgcc 3.2.3 project and its msp430-jtag tool used an own implementation too, which was only working with the standard serial or parallel FETs (and did not support the 20 bit addressing on many newer MSPs). GDBProxy was used to connect GDB with the MSP through this DLL. However, this toolchain was abandoned some years ago.

  • OK, thanks! Could you please suggest me where could I get the gdbproxy source code? Looks like the mspgcc sourceforge page only contains binaries and the link to the original website is broken. Also is there any official documentation on the API inside the msp430dll?

  • Ivan Shcherbakov said:
    Also is there any official documentation on the API inside the msp430dll?

    The download link on Download MSP430.DLL V3.2.3.15 Released 04/04/2012 contains documentation on how to use the API and some example programs which use the API.

    Also, the MSP430.dll source code is available for download in slac460 - see MSP Debug Stack

  • Sorry, I don't have the old source code. I dimly remember looking into the source code for teh MSPGCC.lib through sourceforge HTML-CVS browser some tiem ago. But I'm not sure whether the toolchain was available too.

    Chester Gillon said:
    The download link on Download MSP430.DLL V3.2.3.15 Released 04/04/2012 contains documentation on how to use the API and some example programs which use the API.
    Also, the MSP430.dll source code is available for download in slac460 - see MSP Debug Stack


    However, this is the 3x DLL API. IIRC, the older 2x API is likely different (or else there wouldn't be all the hassle with teh new IAR and CCS verisons requiring V3 DLL etc.)

  • Jens-Michael Gross said:
    However, this is the 3x DLL API. IIRC, the older 2x API is likely different (or else there wouldn't be all the hassle with teh new IAR and CCS verisons requiring V3 DLL etc.)

    Between the 2x and 3x DLL the internals of the DLL are different, and there is a different protocol between the DLL and MSP-FET430UIF.

    However, at the DLL api level not sure if there are any differences. e.g. I had a CCS 4.2.5.00005 installation which installed MSP430.dll v2.4.9.1. I overwrote the dll used by CCS 4.2.5 with MSP430.dll v3.2.4.5 from a CCS 5.2.1 installation, and the CCS 4.2.5 installation was able to use the later 3x DLL to be able to download and single step a program.

    By getting CCS 4 to use the later 3x DLL it means that you appear to be able to switch CCS versions without having to keep upgrading / downgrading the MSP-FET430UIF firmware (which causes the "hassle").

    (I know TI don't suggest this is supported, but appears to work...)

  • Chester Gillon said:
    I had a CCS 4.2.5.00005 installation which installed MSP430.dll v2.4.9.1. I overwrote the dll used by CCS 4.2.5 with MSP430.dll v3.2.4.5 from a CCS 5.2.1 installation, and the CCS 4.2.5 installation was able to use the later 3x DLL to be able to download and single step a program.

    So maybe the V3 DLL API is backwards compatible. It may still have been expanded. Did you try to use the 2x DLL with CCS5?

    Anyway, without 'official' confirmation, I would use such a setup with extreme care. While download and single-stepping appear to work, there still might be differences that make othe rfeatures unavailable or lead to unexpected problems that do not show up immediately.

  • Jens-Michael Gross said:
    So maybe the V3 DLL API is backwards compatible. It may still have been expanded. Did you try to use the 2x DLL with CCS5?

    I haven't tried that combination.

    However, I have used an MSP430-JTAG-TINY with the Olimex.dll v1.0.42 with both CCS 4 and CCS 5. This Olimex driver was released in July 2011 when only CCS 4 was available. Since the Olimex driver developed for CCS 4 still works with CCS 5 it suggests that there is no fundamental DLL API interface change between the 2x DLL and 3x DLL. Will see if I can find any documentation about DLL API differences between the 2x and 3x DLLs.

**Attention** This is a public forum