Part Number: MSP-EXP430G2ET
Other Parts Discussed in Thread: ENERGIA, , MSP430G2553
I got an MSP-EXP430G2ET with its MSP430G2553 last week, installed the drivers for my Linux (Debian unstable, 5.6.14-2) system, plugged it in, and ran Energia. I loaded up the blink example, and when I go to program it, I get this:
Sketch uses 810 bytes (4%) of program storage space. Maximum is 16384 bytes.
Global variables use 20 bytes (3%) of dynamic memory, leaving 492 bytes for local variables. Maximum is 512 bytes.
DSLite version 9.3.0.1863
Configuring Debugger (may take a few minutes on first launch)...
Initializing Register Database...
Initializing: MSP430
error: MSP430: Error initializing emulator: One of the connected MSP-FETs / eZ-FETs debuggers needs recovery. Select 'Recover' to start the recovery process. Note: Only one MSP-FET / eZ-FET debugger can be connected to your system during recovery.
Updating Firmware
error: MSP430: Error: MSP-FET / eZ-FET recovery failed
Failed: MSP430: Error initializing emulator: MSP-FET / eZ-FET recovery failed
the selected serial port
does not exist or your board is not connected
I tried writing a trivial C program and compiling it with msp430-gcc. Uploading it with mspdebug gives me this:
$ mspdebug tilib
MSPDebug version 0.22 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2013 Daniel Beer <dlbeer@gmail.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
MSP430_GetNumberOfUsbIfs
MSP430_GetNameOfUsbIf
Found FET: HID_FET
MSP430_Initialize: HID_FET
Firmware version is 4294967294
MSP430_VCC: 3000 mV
MSP430_OpenDevice
MSP430_GetFoundDevice
Device: (id = 0x0000)
0 breakpoints available
MSP430_EEM_Init
Chip ID data: 02 00
Available commands:
= erase isearch power save_raw simio
alias exit load prog set step
break fill load_raw read setbreak sym
cgraph gdb md regs setwatch verify
delbreak help mw reset setwatch_r verify_raw
dis hexout opt run setwatch_w
Available options:
color gdb_loop
enable_bsl_access gdbc_xfer_size
enable_locked_flash_access iradix
fet_block_size quiet
gdb_default_port
Type "help " for more information.
Use the "opt" command ("help opt") to set options.
Press Ctrl+D to quit.
(mspdebug) prog minimal.elf
Erasing...
Programming...
Writing 80 bytes at c000 [section: .text]...
Writing 32 bytes at ffe0 [section: .vectors]...
Done, 112 bytes total
(mspdebug) verify minimal.elf
Verifying 80 bytes at c000 [section: .text]...
ERROR: mismatch at c000 (read 00, expected 55)
It's very consistent: it always mismatches at 0xc000, which is the beginning of the code segment. It seems to me like the FET's firmware got hosed somehow, and I don't see any clear path to fixing it. Suggestions?
