MSP430 Programming Support BP3 (BP5?)

I’m playing with a bunch of cast-off blood glucose consumer meters that have an LCD driven by a MSP430. I read in some old posts that the BP(3?) could program this family of MCUs. And while I haven’t completely rung out the circuit, I think I have access to the JTAG pins as well (or the TI version of it). If it’s really JTAG, seems like I could use any JTAG programmer? If not, does the BP3 really support programming MSP430s? I guess a follow-up question is, how hard would it be to make the BP5/6 support it?
-Chris

2 Likes

That’s a good question. It’s been so long I don’t remember much about MSP430 or Bus Pirate support for it.

I don’t think it is standard JTAG or SWIO, at least on the smaller chips I worked with. As I recall I gave up on MSP430 because there was really no unencumbered way to develop for it. TI had a limited thing up to 2K program space, or it was KEIL for who-knows-how-much.

1 Like

Great question - I also thought programming the msp430 was proprietary only, but have you looked at MSPDebug? ( GitHub - dlbeer/mspdebug: Debugging tool for MSP430 MCUs )

Disclaimer — I’ve never used one. From what I’m reading, there’s now a gcc compiler tool chain now supported by TI. There is the usual distinction between tools that can just program it vs debugging. It seems like a $20-$30 device from TI will get you programming, but they sell a $200 device for debugging. The device I have offers JTAG and serial (or at least I think serial is possible, unless they applied a secret password).

On top of all that, the variation in these programming dev boards of huge — there are a dozen or more models with cryptic model numbers, unlike many other MCU families where one tool has you covered.

I’m not gonna put a lot of effort into it, but I thought it would be fun to at least try. I’m not sure what the applications for an MSP430 are today in 2024. Apparently it is known for extremely low power consumption and has some 16 bit DSP features.

many years ago there was a TI MSP430 brochure that featured a Fluke DMM on it, I would expect that Fluke still enjoys using the MSP430 in their battery operated multi meters.

As you mentioned, there are ‘fuses’ that can be blown in the chip that prevent jtag access unless the content specfic interrupt vectors are known, and I recall the serial access.

It’s been a long time since I worked on them, but here’s what I remember.
The small MSP430s are programmed and debugged through Spy-Bi-Wire (SBW) which multiplexes JTAG over 2 signals along with a few other tricks. One of the signals is the reset pin.
A small debugger/programmer can be had as part of some of the small development/demo kits which came as a small USB device with a daughter card that was the device to be programmed/debugged, but could be removed to attach to other chips. TI usually had a deal with a bundled development IDE to support the use of programs up to the size of the size of the program space of the chip that came with the device. Originally this was 2KB, but later it was expanded to 4KB to support a kit with 802.15.4 after TI bought Chipcon. That’s the last I dealt with them much, so I’m ignorant of developments since then.

I think many (maybe most or all) of the larger MSP430s could also be programmed/debugged by the 2 wire protocol but could also use more conventional JTAG, which allowed for easier/cheaper board layout of products that still allowed for in system programming and debugging.

Back in the day TI was very secretive about the Spy-By-Wire protocol, but since then it’s become well known outside of TI. Back in the day when they were secretive about it I had requested information because I had wanted to create some debugging capability to chase some bugs in time sensitive code that just wasn’t available through the IAR tools, but TI wouldn’t share. The code that I was debugging was time sensitive, but I estimated that code on my PC could have operated the debugging interface fast enough to meet the deadlines.