When developing embedded software, you want to work with the best, and while we love our developers and consider them the best, what we’re really talking about here are the tools we work with.
Within the world of embedded software development, we’ve worked with many tools including editors, assemblers, debuggers, emulators, linkers and compliers. There are many tools that encompass all these features known notably as Integrated Development Environments (IDE), which are our favorite tools to work with.
Embedded Development Tools: IDEs and How They Work
IDEs are an essential component and tool for any developer building embedded software and firmware. IDEs allow engineers to perform various activities within a single application such as editing code, syntax highlighting, building executables, and debugging, so there’s no jumping between multiple tools. No doubt, these are the tools we prefer so we narrowed our favorite embedded software IDE tools down to 5.
5 Embedded Software Development Tools We Love
1. Keil µVision IDE
Within the Keil suite of tools, we use µVision IDE, which contains project management, source code editing, build facilities and program debugging all in one environment. Within µVision’s interface, they are broken down into three different groups:
µVision Debugger: An environment to test, verify and optimize code with features including simple and complex breakpoint sequences, watch windows and full execution control.
µVision Project Manager and Real-Time Environment: An environment to create software with pre-built components and device support using Software Packs. Within the components there are libraries, configuration files, source code templates (which if you don’t want to build it, you can get it from us here!) and more. These components support many devices and applications and can give you a head start on some of your platform-specific code.
µVision Editor: This editor has all the main features that come standard with a modern source code editor including syntax highlighting, text indentation and source outlining for C and C++.
2. IAR Embedded WorkBench
IAR Embedded Workbench is a complete IDE with a C/C++ complier, editor, and debugger that comes with code analysis and security tools. IAR contains a lot of features including:
- An IAR Assembler
- The IAR ILINK Linker
- A Project Manager
- Command line build utility
- IAR C-SPY Debugger for high-level programming
3. Visual Studio
Created by Microsoft, Visual Studio is an IDE that can build embedded software, computer programs, and even mobile applications. One of the highlights of Visual Studio is it allows developers to be able to build software from first design into the final deployment.
Visual Studio is built primarily for C++ code and one of its biggest advantages is that it can be connected via the cloud, which will automatically notify you of any updates needed, manage your external libraries, keep your settings no matter what device you’re working on and allow you to collaborate with other members with Microsoft’s Live Share.
What’s neat about this editor is it has a code completion tool, IntelliSense, which can autocomplete code for variables, loops, functions and methods.
4. Eclipse IDE
Eclipse is a free, open-source IDE that was primarily created specifically for Java applications, however it has extensive plug-ins to allow it to work with a multitude of programming languages including:
Eclipse features several different platforms including a server platform, web tools platform and modeling platform, and one of its most notable traits about its interface is its drag-and-drop feature made for easier functionality.
Eclipse is available for Windows, Mac and Linux. We use the Eclipse editor specifically for Linux development with command line building.
5. Qt Creator
One of the advantages of Qt Creator is its many tools for design and development and as well as its frameworks including Qt 3D Design Studio, Qt Quick Designer, Qt Linguist and Qt GUI.
Qt Creator is known for several features including autocompletion, syntax highlighting, virtual keyboard, 3D and 2D user interfaces and cross-compiling.
While these are tools we love to work with, we’re able to accommodate any tools you work with — and that’s what makes us different. Whether you need a complete software or firmware development or help integrating a feature into your existing software, bring it to us and we’ll work to reach your objectives and deadlines. Looking forward to building with you!