There are many pieces involved in getting a program onto your LaunchPad board, and if any of them aren't right, the upload can fail. They include: the drivers for the board, the board and serial port selections in Energia, access to the serial port, the physical connection to the board, firmware, the bootloader on the main microcontroller on the board, the microcontroller's fuse settings, and more. Here are some specific suggestions for troubleshooting each of the pieces.
Energia Software
Drivers
Drivers provide a way for software on your computer (i.e. Energia) to talk to hardware you connect to your computer (the LaunchPad board). In the case of Energia, the drivers work by providing a virtual serial port (or virtual COM port).
The easiest way to check if the drivers for your board are installed correctly is by opening the Tools > Serial Port menu in Energia with the LaunchPad board connected to your computer. Additional menu items should appear relative to when you open the menu without the LaunchPad connected to your computer. Note that it shouldn't matter what name the LaunchPad board's serial port gets assigned as long as that's the one you pick from the menu.
Access to the Serial Port
Physical Connection
Auto-Reset
[VP 1] Device is not responding correctly.
try uploading again (i.e. reset the board and press the download button a second time).
If it still doesn't work, you can ask for help in the forum. Please include the following information:
The Energia environment does some preliminary processing on your sketch by manipulating the code using regular expressions. This sometimes gets confused by certain strings of text. If you see an error like:
java.lang.StackOverflowError at java.util.Vector.addElement(Unknown Source) at java.util.Stack.push(Unknown Source) at com.oroinc.text.regex.Perl5Matcher._pushState(Perl5Matcher.java)
or:
at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java)
this is what's happening. Look for unusual sequences involving "double-quotes", "single-quotes", \backslashes, comments, etc. For example, missing quotes can cause problems and so can the sequence '\"' (use '"' instead).
It is probably a jumper issue. You may need to reposition your jumpers. If you are positive it isn't that, you may need to change USB cables or double check your USB port is working.
If you get an error when double-clicking the energia.exe executable on Windows, for example:
Energia has encountered a problem and needs to close.
You'll need to launch Energia using the run.bat file. Please be patient, the Energia environment may take some time to open.
If you get an error like this:
Link (dyld) error: dyld: /Applications/energia-0004/Energia 04.app/Contents/MacOS/Energia Undefined symbols: /Applications/energia-0004/librxtxSerial.jnilib undefined reference to _printf$LDBL128 expected to be defined in /usr/lib/libSystem.B.dylib
you probably need to upgrade to Max OS X 10.3.9 or later. Older versions have incompatible versions of some system libraries.
If you get an error like this when launching Energia:
Uncaught exception in main method: java.lang.UnsatisfiedLinkError: Native Library /Users/anu/Desktop/energia-0002/librxtxSerial.jnilib already loaded in another classloader
you probably have an old version of the communications library lying around. Search for comm.jar or jcl.jar in /System/Library/Frameworks/JavaVM.framework/ or in directories in your CLASSPATH or PATH environment variables.
If you get this error when launching Energia:
Java Virtual Machine Launcher: Could not find the main class. Program will exit.
Make sure that you correctly extracted the contents of the Energia .zip file - in particular that the lib directory is directly inside of the Energia directory and contains the file pde.jar.
If you already have cygwin installed on your machine, you might get an error like this when you try to compile a sketch in Energia:
6 [main] ? (3512) C:\Dev\energia-0006\tools\avr\bin\avr-gcc.exe: *** fatal error - C:\Dev\energia-0006\tools\avr\bin\avr-gcc.exe: *** system shared memory version mismatch detected - 0x75BE0084/0x75BE009C.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution. Rebooting is also suggested if you are unable to find another cygwin DLL.
If so, first make sure that you don't have cygwin running when you use Energia. If that doesn't help, you can try deleting cygwin1.dll from the Energia directory and replacing it with the cygwin1.dll from your existing cygwin install (probably in c:\cygwin\bin).
If Energia takes a long time to start up and appears to freeze when you try to open the Tools menu, there by a conflict with another device on your system. Energia, on startup and when you open the Tools menu, tries to get a list of all the COM ports on your computer. It's possible that a COM port created by one of the devices on your computer slows down this process. Take a look in the Device Manager. Try disabling the devices that provide COM ports (e.g. Bluetooth devices).
Make sure that the board is plugged in: the serial port menu refreshes whenever you open the Tools menu, so if you just unplugged the board, it won't be in the menu.
Check that you're not running any programs that scan all serial ports, like PDA sync applications, Bluetooth-USB drivers (e.g. BlueSoleil), virtual daemon tools, etc.
Error inside Serial.<init>() gnu.io.PortInUseException: Unknown Application at gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:354) at processing.app.Serial.<init>(Serial.java:127) at processing.app.Serial.<init>(Serial.java:72)
This probably means that the port is actually in use by another application. Please make sure that you're not running other programs that access serial or USB ports, like PDA sync application, bluetooth device managers, certain firewalls, etc. Also, note that some programs (e.g. Max/MSP) keep the serial port open even when not using it - you may to need to close any patches that use the serial port or quit the application entirely.
You have selected the wrong item from the Tools > Microcontroller menu. Make sure the selected microcontroller corresponds to the one on your board.
Alternatively, the sketch may be too big for the board. If yours is bigger, only part of the sketch will be uploaded, but the software won't know, and your board will continually reset, pause, reset.
If you're using floating point, try to rewrite your code with integer math, which should save you a decent amount of code size. Delete any #include statements at the top of your sketch for libraries that you're not using.
Otherwise, see if you can make your program shorter.
We're always working to reduce the size of the Energia core to leave more room for your sketches.
The Energia environment attempts to automatically generate prototypes for your functions, so that you can order them as you like in your sketch. This process, however, isn't perfect, and sometimes leads to obscure error messages.
If you declare a custom type in your code and create a function that accepts or returns a value of that type, you'll get an error when you try to compile the sketch. This is because the automatically-generated prototype for that function will appear above the type definition.
If you declare a function with a two-word return type (e.g. "unsigned int") the environment will not realize it's a function and will not create a prototype for it. That means you need to provide your own, or place the definition of the function above any calls to it.
Getting Started HomeCorrections, suggestions, and new documentation should be posted to the Forum.
The text of the Energia getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Energia reference is based on Arduino reference. Code samples in the guide are released into the public domain.