There are three basic facts about embedded system software and programming that influence the strucuture and capabilities of embedded software works or programming IDEs for C and C++.
- Embedded systems power on and do a job – nobody ever sees the computer.
- Real-time response is required – this makes debugging difficult.
- DSP algorithms are common today – many people don't understand them and even fewer understand how to implement them effectively.
- Lean product development is common.
For an embedded software works or C/C++ IDE to be effective in this kind of environment, it has to offer many things:
- Eclipse based C/C++ development – a modern standard
- Vendor based IDE for C/C++ development - often a common tool
- Soure level and system level debugging including:
- multithreaded applications
- processor breakpoints
- event generation
- heterogeneous multiprocessor features
- debugging of Interrupt Service Routines and Device Driver support
- source and assembly level debugging
- watch and trace features
- oscilloscope features for signals
- DSP RTOS or at a minimum, an RTOS which offers good signal processing options,
- DSP libraries
- I/O libraries
Ideally a number of other features are also highly desirable:
- Integration with FPGA solutions
- Simulation capabilities for the processor and I/O
- Integration with DSP algorithm development tools
- Integration with model based development tools
Practically speaking, the model based development tools and integration with DSP development tools are in the early stages today. In a few years, this will be more fully developed.
From a software engineering point of view, the availability of these tools can lead to a much greater productivity for a given project. Embedded software works actually save both time and money and improve quality if they are properly implemented. The benefits are:
- Focus on the problem and solution, not building make shift tools.
- Support for lean product development
- Fast and easy isolation of defects and anomalies
- Off the shelf processor, chip and board support
- Elimination of integration headaches
- Ability to bring junior people up to speed more quickly – an easier approach.
- Support for algorithm developers right to test engineers.
- One easy environment that the whole team understands.
DSPnano and the Unison RTOS offers all of this and more. Get your Unison or DSPnano embedded software works today!