A C/C++ IDE or Integrated Development Environment integrates the editor, compiler tool chain and the debugger into one package. For the past decade or more, this has been the favored approach to debug embedded systems using a cross development approach with either dedicated hardware on the embedded processor and/or an in circuit emulator.
The differences between C/C++ IDEs is, on paper, insignificant and in practice, really substantial. The issues are:
- ● usability
- ● reliability
Often, due to the complexity of managing the protocol states in the ICE/processor and the host, combined with random failures in the target, cross development IDEs appear unreliable. The problem really is that the tool must handle random failures which causes significant increases in complexity and it is quite difficult to get a tool that works consistently. Users see this lack of consistency as a reliability problem.
The other major factor that separtes C/C++ IDEs is usability. Eclipse is known for its ease of use for development either in C or C++. Other environments are good too. As an IDE is adapted for a specific environment, it can change somewhat so as a user, you must be aware of how the tool has changed as it was modified to a particular MCU or in the case of open source tools, by a particular vendor.
Compilers are coverd separately but are also part of the mix when considering a C/C++ IDE. The difference in the quality of the compiler might have a significant impact on the overall results. For example, one well known family of compilers puts all symbols in a file into the linked image whether or not they are required. The net result is that the FLASH image is larger than it needs to be. You must watch for these details.
RoweBots works with a wide variety of C/C++ IDEs depending on our customer demands - let us know if you need a different C/C++ IDE.
You don`t have permission to comment here!