You know that you need an integrated development environment (IDE) to begin software development on your embedded design. You know that an IDE should save you significant design time and go a long ways to ensure design quality. But first you have to know which one to choose, and the first place you might start is by asking yourself what you need from the IDE. The standard answer to that question is typically something along the lines of an editor, build system, debugger, and a list of other standard features. However, every IDE has provided these features for a decade or more. Each IDE may have its advantages in one area or another, but the standard set of functionality is present. So, the question becomes: What do you need beyond that?
A few considerations
First think about the ability to use the environment. While the basic functionality may be very similar across environments, it is not always easy to pick up a new IDE and start using it. It can often take quite some time to become proficient enough to be able to begin your real work. However, being familiar with one environment is no guarantee that you will be able to just pick up a different one and use it right away. There are two approaches to improving usability:
1. Standardization of frameworks. This is one of the reasons you may start to see more IDEs built on common frameworks, such as Eclipse, so there is a commonality across environments. But there are many IDEs based on platforms such as NetBeans, VisualStudio and proprietary solutions.
2. Improved out-of-box experiences. Some IDEs provide a simplified way of getting started, in addition to the more complex full-feature approach. This can be seen in Texas Instruments’ Code Composer Studio v6 IDE which has “Simple Mode” which strips down the user interface to just the essential functionality, thus removing much of the confusion for users when they pick up a new environment.
Training
What material does the IDE provide to help you with learning the tool? In Code Composer Studio, for example, the first screen you see when you open the IDE is the “Getting Started View,” which provides quick access to many of the tasks you wish to perform when first starting development – creating a new project and browsing examples. There is even a video that shows the basics of using the environment. Including items such as these can go a long way in helping someone become comfortable with a new environment.
Full application development
Simplified user interfaces and training can help you get basic things running and perhaps blink an LED or two, but what about beginning real development? The reality is that you need much more than just an IDE to write an embedded application – libraries, examples, RTOS, documentation, and more. You probably go back to your silicon vendor’s website and look there, or maybe Google can help. Your IDE should have an application center that gives access to a wide selection of software packages and tools needed to get up and running on your chosen embedded processor.
Code optimization
One item almost everyone can use assistance on is writing high quality code for your selected platform. Embedded developers not only have to optimize for performance, but they also have to deal with stringent code size and power constraints. Different architectures and compilers have features that can help with this, but how do you learn about each one of these features? One solution to this problem is to build the knowledge into the IDE. If the compiler detects that you could do something in a more efficient way, it should be able to tell you. On top of that, it would be real nice if it could show you some example code. This is the approach taken by the built-in advisor tools, including ones like Optimization Assistant and Ultra-Low-Power Advisor, that help users learn how they can better optimize their application to achieve their desired performance, code size, and power requirements.
One good example
One example of a recently updated IDE is Code Composer Studio v6.0 from Texas Instruments, which works with all TI processors. This package includes a very complete App Center with links to library functions, support forums, YouTube videos, training materials, and the wiki. Prominently displayed is a video that walks users through the basics of using Code Composer Studio. The package includes a highly optimized C compiler for each processor platform. Additionally, for MSP430- and ARM-based devices, a GCC distribution is provided.
Learn more about Texas Instruments