Jump to content
bjbance

CCSv4 vs Energia

Recommended Posts

Since I got my launchpad a few months ago, I've been using CCSv4. I admit, the learning curve was quite steep at first. But i eventually got the hang of it. I can now do some basic stuff like interfacing with an LCD, using timers, the ADC, uart, and the like. After I registered here, I noticed that there seems to be a lot of buzz about energia. It seems to me to be just another IDE. I would just like to ask if it would be better for me to switch to energia or just stick with CCS. What are the pros and cons. Thanks.

Share this post


Link to post
Share on other sites

What you ask, is really a loaded question. It all boils down to your own needs / wants.I will try to elaborate as much as I can based on my own experiences.

 

Energia as an IDE is really simple, with limited functionality compared to other IDE's. From what I can tell it is made to make transition from the Arduino platform as painless as possible. E.G. They share many of the same library features. Granted, how I have been using Energia, is a tool to compile, and upload the code I write. For an editor, I have been using sublime text 2 to write the code. One thing I found really useful with Energia aside from that already discussed was the Serial terminal output tool. Not only does it work with the Energia Serial library stuff, but it will capture anything happening on the launchpad ( UART serial wise ), as far as I can tell. Very useful. A couple things I do not like about Energia: the inability to close tabs once created (as far as I can tell any way ), and when working with files in another editor, seemingly you *have* to close the instance that also has the same files open, then reopen before Energia recognizes file changes. This last bit is quite annoying.

 

?CCS I found at first to have many features that I thought would be extremely useful. But in the end in all honesty I never used Many of them. Some features such as setting variable watches, while debugging are handy, but the same end results can be achieved using just about any IDE using printf()(assuming you have the room for the code on the device ~710 bytes or less). CCS also as you probably know already requires JRE to be running on the given platform. I *dislike* with an extreme passion anything JRE / JVM related, but grudgingly setup another system with JRE on it. Also, since CCS requires JRE, it can be slow, it has to "think" constantly when doing some things within the IDE. It can also be buggy as hell at times. Read through my previous posts in this topic to see what I mean. New CCS vs Energia discussion

 

Anyway, for me neither is truly what I want. But as far as cost goes, you really can not complain where Energia is concerned. It is also useful, and works out of the box without any magic hand waving. Which compared to other gcc-msp430 options, is saying a lot. It also uses, or at least seems to use TI's USB<->COM drivers. In the end it really is a great tool, that does not require that you use the Energia framework. But, it is limited.

Share this post


Link to post
Share on other sites

There are some things I have left out. But when you have the time, perhaps you should give Energia a shot and see what you think. You can write / compile code the mspgcc way by making a new tab called either rmain.c or main.cpp. From what I understand ( and have been experiencing ) this bypasses the Energia framework. But you'll need to setup everything yourself like how is done from within code composer studio.

Share this post


Link to post
Share on other sites
A couple things I do not like about Energia: the inability to close tabs once created (as far as I can tell any way ), and when working with files in another editor, seemingly you *have* to close the instance that also has the same files open, then reopen before Energia recognizes file changes. This last bit is quite annoying.

 

In the File/Preferences menu, you should check "Use external editor".  This will allow you to just use Energia as a build tool. When you "Verify" it will recompile the latest saved version.

Share this post


Link to post
Share on other sites

You do realize that the Energia IDE is written in java yes?

I fail to see how that is relevant  though Rick. Since there is no JRE/ JVM installed on this machine. Yes, I did notice, and I suspect it uses the precompiled java runtime . . . whatever its called. 

Share this post


Link to post
Share on other sites

There is no JRE / JVM constantly ruining on my machine. That's the difference. "Native" Grace, is pretty much the same thing as well. Just goes to show that we rarely get exactly what we want in life right ?

 

BTW, where are the toolchain binaries located?  Are they native. or not ? while on the subject.

Share this post


Link to post
Share on other sites

Also, the main point, Energia does not feel sluggish and clunky like many JRE apps can be. SO whatever you guy did, you have seem to have done it right.

 

The Processing people did it, then the Arduino people forked off that.  We forked off of Arduino. So we are just building on their work.  To be honest, I think vanilla Eclipse feels less sluggish than the Processing based Arduino/Energia.

 

The toolchain for the msp430 is just a pre compiled version of msp430-gcc 4.6.3. For ARM we ship a pre compiled version of the  Yagarto toolchain. 

Share this post


Link to post
Share on other sites

I find vanilla eclipse sluggish, but no where near as sluggish as CCS. Granted my laptop CPU is only 1.4Ghz, but quad core and 8 Gigs of ram.

 

The Grace standalone app, which seems to be using java byte codes as well, is simply terrible. I can not even run it for 15 minutes without it causing constant "busy cursor" phenomenon. After 30 minutes or more, I usually have to end up killing it from task manager. Otherwise it just sits there trying to close. 

 

Where Energia may take a little while to start up, once running it is smooth sailing.

 

YMMV.

Share this post


Link to post
Share on other sites
Anyway, for me neither is truly what I want. But as far as cost goes, you really can not complain where Energia is concerned. It is also useful, and works out of the box without any magic hand waving. Which compared to other gcc-msp430 options, is saying a lot. It also uses, or at least seems to use TI's USB<->COM drivers. In the end it really is a great tool, that does not require that you use the Energia framework. But, it is limited.

i'm currently limited to the G2 line so i guess cost doesn't apply to me yet. I also can't relate to the magic hand waving since i did not have any problem installing CCSv4 or do anything other than follow the installation prompts.

 

We compile the java into byte codes however there is a java virtual machine executing them.  No different than CCS or Eclipse.

There is no JRE / JVM constantly ruining on my machine. That's the difference. "Native" Grace, is pretty much the same thing as well. Just goes to show that we rarely get exactly what we want in life right ?

 

BTW, where are the toolchain binaries located?  Are they native. or not ? while on the subject.

so, which is which?

 

 

the annoying thing i've encountered with CCS is when it eventually lags after an hour or two and i need to close and reopen it to get it back to normal.

 

i've no experience with energia yet but i've seen a JAVA Arduiino IDE during a presentation. From what little I've seen, the coding style is a lot easier to learn and it got a lot of libraries so it you don't have to worry much when it comes to typical functions. on the downside, it seemed incredibly slow. just opening the program took longer than booting the computer. sometimes it did not load at all. opening files also seemed to take a lot longer than usual as well as connecting with the target device. it was not my computer and i was not operating it, it could have been his fault and not the program, but it left a bad impression on me.

Share this post


Link to post
Share on other sites

Energia > CCS in terms of cost, ease of use. CCS > Energia in terms of features.

 

Aside from that, they're basically capable of the same thing. As far as the ease of use goes, from the aspect of using the Energia framework. It comes at the cost of speed, and code size on the target. Granted you can minimize this somewhat by being careful as to how you use it, and what you use. And as with anything else there is always a learning curve.

 

Really though the only way you're going to know, is by picking it up, and using it. No one  else here knows what your priorities are. Or what *you* care about.

Share this post


Link to post
Share on other sites
so, which is which?

 

Depends on which question is being asked.

 

Is the toolchain native? yes as I stated before we have pre compile binaries. There is a Win32, Linux and Mac OS version shipped with appropriate version of Energia.

 

Where is it located? The toolchain is stored as a zip file in the github build directory of each platform. When you use 'ant clean buid run', the zip file for the appropriate platform is extracted and placed in directory below the top level Energia directory and repacked with the compiled java classes and native jar files required by that platform.  look for msp430-gcc under the directory where you expand Energia.

 

If you are asking where the java runtime is? It depends on the platform.  With Windows the code is part of what gets built and packaged using launch4j. ( http://launch4j.sourceforge.net/ ) With Linux we expect you to supply the java.  With Mac OS I'm not sure. I mainly focus on the linux build.

 

The source code is all up on github.

 

-rick

Share this post


Link to post
Share on other sites
... on the downside, it seemed incredibly slow. just opening the program took longer than booting the computer. sometimes it did not load at all. opening files also seemed to take a lot longer than usual as well as connecting with the target device. it was not my computer and i was not operating it, it could have been his fault and not the program, but it left a bad impression on me.
 

 

A common reason that java applications are slow is that anti virus programs will verify java and each of its jar file which can be quite large.  On my setup with linux  Energia starts up appears quickly as I'm not running any virus stuff.  The few times I've tried it on windows it also launched quickly ... seconds not 10s of seconds.  But then again I wasn't running any anti-virus. I just tried on a 2009 imac and it was ready to run in less than 4 seconds... again no virus program.

 

-rick

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×