Does an MSP430 (Specifically the LaunchPad F5529) retain its code which was transferred via the Spy-Bi-Wire (SBW) Port? Or do I need to use the BSL to program the chip? In layman's terms what is the difference between the two, and why would I need one over the other? Thanks!
Asked
Active
Viewed 1,329 times
4
-
pretty sure both do the job, one vs another is depending on what host software you are using. Mspdebug for example supports bsl for that board. – old_timer Jan 11 '15 at 01:43
1 Answers
6
Spy-Bi-Wire is:
- more powerful. It is an implementation of JTAG interface, so it allows not only program, but also to debug the MCU (single-step, insert breakpoints, etc).
- more complex. Typically requires a dedicated chip to operate. LaunchPads have that chip on board, but custom-made PCBs are unlikely to have it, so originally a special and expensive programming board was required to program them. However, with the introduction of LaunchPads things have changed: a spare LaunchPad can be reused in the role of this programming board for other devices as well, for a fraction of the price.
- synchronous protocol (more reliable).
BSL is:
- more generic. In general, only the newer models of MSP430 support Spy-Bi-Wire. However, "a few low-end MSP430 members cannot be programmed by BSL initially, they can only be programmed by 4-wire JTAG or SBW" (source).
- simpler: the programmer side usually can be implemented in software. However, some msp430 Series 5 chips have a bug, due to which they require very fast BSL command turnaround times, far higher than can realistically implemented in software, at least in userspace applications on Linux or Windows. So for those chips this BSL benefit is nullified. This is not an issue for F5539 though, according to TI errata documentation.
- asynchronous protocol (less reliable).

kfx
- 647
- 5
- 17