Jump to content
43oh

Recover the MPS430 Launchpad from failed firmware update


Recommended Posts

When the Launchpad was quite new, TI published an Launchpad update program that would make it work with new (at the time) microcontrollers.

But sometimes, the update failed, leaving me and others with a useless launchpad.

 

http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Firmware_Update (BEWARE!)

 

This has been discussed here (43oh.com) and elsewhere http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/p/97931/346074.aspx#346074

and someone in that thread was kind enough to backup his/her Launchpad's firmware:

http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer-Discussions-Components-Files/166/3060.LP100901938.zip

 

Today I stumbled across my defunct launchpad and looked into MSP430 parallel port JTAG adapters (it seems, only the level conversion is required) and others (Versaloon may be portable to STM32_F4_Discovery), bit banging with FT2xxx, etc., but ended up looking for the effort required using the integrated serial bootloader (BSL):

http://www.mike-stirling.com/2013/06/turn-a-ti-launchpad-into-a-goodfet-with-just-a-serial-cable/

 

This is really quite simple (you'll have to decide if your time is worth it, if you haven't thrown it away already..): the process only requires a 3.3 V serial interface, soldering of 5 wires, pushing a few buttons..

Since he's actually replacing the F1612's firmware with another one, I'll just qoute the BSL info for posterity:

Launchpad FTDI pin TP3 (GND) 1 MSP430F1612 pin 22 (from PC) 4 MSP430F1612 pin 13 (to PC) 5

This is almost all that

Link to post
Share on other sites

Just to complete this with some references and forgotten information regarding the update:

 

43oh blog entry: http://www.43oh.com/2011/04/msp430-launchpad-firmware-update-2-0-released/

43oh forum thread: http://forum.43oh.com/topic/503-launchpad-firmware-update/

 

You could even use another Launchpad as USB-serial interface (maybe even with standard 9600 baud or using the default configuration of the TUSB3410): http://forum.43oh.com/topic/2568-speeding-up-the-launchpad-uart/?hl=tusb3410#entry21487

 

Regarding the firmware (http://www.43oh.com/2011/04/msp430-launchpad-firmware-update-2-0-released/#comment-4239)

 

 

The MSP has 55kB Flash, .data (32kB) contains lots of strings that only make sense for the update Software, the others are > 200 kB. However, the firmware seems to be embedded in .rdata starting at 0x76E .. 0xD22D (compare with firmware read out

 

I don't think they are identical, although they start with the same data. With some effort it should be possible to extract the firmware as TI txt to use with the BSL.

.rdata          @ 0x76E  : 5E DE 24 DF 36 37 68 C7 C9 01 FF FF FF FF FF FF
LP100901938.txt @ line 2 : 5E DE 24 DF 36 37 68 C7 CA 01 FF FF FF FF FF FF

Upgrading the EMULATION part of the Launchpad to a JTAG tool may be possible with http://goodfet.sourceforge.net/ , although this probably is a little more involved as the original hardware does not seem to be supported.GoodFET is interesting as it supports a number of devices..

Link to post
Share on other sites
  • 2 weeks later...

I was able to get this(the upload part) to work (mostly so far) by using a 5v version of the ft232R cable(LED/res used to drop the TX line). The transfer was successful but not able to detect the device on my windows machine afterwards. It does appear to be detected on the linux box I have though. As a side, soldering the  pin22 and 13 is like doing surgery.....you need a very steady hand.

 

Question related to tp2/4, do these need to be disconnected from the buttons once this process is complete for the board to be connected again?

 

Edit: So after a few minutes of being disconnected, I tried connecting it to another windows machine and it was detected. I tried again on the first machine that failed to detect the board initially and am now able to see it. I have not tried to program with the board yet and was going to reroute the tp2/4 wires a little differently/remove them for testing. I also tried to run the update program once again as I'm not worried about borking it again(since its already wired to unbork) but that now doesn't appear to see the board for updating(I have a 2452 in it and it is working.) I have all but the rx/tx jumpers back on the board.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...