When developing embedded software, a sufficient IDE or debugger can make or break the successful delivery of a project, or in major cases – the programmer!
Before going into IDE and debugger choices, what exactly are IDEs? Their full title is Integrated Development Environments, containing the necessary tools to create software before applying to the necessary hardware. Debugging is a feature of IDEs to spotlight and remove errors and faults in such instances.
A software editor, compiler and debugger make up the initial backbone of an IDE, bringing with them the convenience of being able to monitor and rectify any problems as development progresses and code is executed onto embedded hardware.
The benefits? With all of this knowhow compressed into a single program, the learning curve and time investment of getting to grips with independent editing and debugging program has been bypassed, giving you more time to concentrate on creation.
When choosing an IDE, one thing to note is the language you’ll be using: whilst many packages are multilingual (supporting C, C++, Python, Perl, PHP…), certain IDEs are better suited for supporting different coding languages. (For example, Netbeans, Eclipse and IntelliJ IDEA best known for their expertise handling Java.)
Talking to developers already using IDEs will give you an insight into personal preferences and user-friendliness. For instance, if you were to ask the team at Bluefruit, they would praise Microsoft’s Visual Studio for its high quality software editing tools, which they find perfect for writing code and running unit and system tests.
Debugging choices can be limited in the world of embedded software, so manufacturer IDEs such as Microchip’s MPLAB can almost be a necessity for low level fault spotting within specific MCUs.
In terms of features, we put rapid probing, precise debug windows, meaningful error messages, non-binary workspace files and confidence in reliability at the top of our list when regarding low-level debugging.
Have you any more tips on choosing IDEs or debugging tools? Use the comment section below to voice your IDE opinion!