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?