Managing the complexity of embedded software development through design automation tools
By Anthony Pellerin, Witekio
EDN Europe -- January 26, 2017
The diversity of embedded systems means no single sector dominates the industry; end applications vary widely and even the largest — automotive — represents less than 20% according to some analysts.
For those in the industry this won’t come as a surprise. Embedded systems empower every aspect of modern life. Within those systems there are now hundreds of millions of lines of code, each of which has been optimised for a specific hardware platform and debugged to ensure reliability, security and safety. Developing embedded software is rapidly becoming the single largest risk and cost in product development, so choosing the right tools for the job is now fundamental to success.
The Software Development Paradigm
Embedded software programming was once a matter of manually transposing an intention expressed using mnemonics into machine code (normally represented using hexadecimal or binary values) and putting those values into a persistent storage device, readable by a microprocessor. Things have changes a lot in the last 40 years or so.
The third generation of programming languages saw high-level, platform-independent languages emerge and, with them, productivity increase. With abstraction came the ability to manage complexity which, as a result, has increased in line with processing performance. The two have provided mutual motivation ever since.
E-mail This Article | Printer-Friendly Page |
|
Related Articles
- Embedded software development tools - a third way
- Processor-In-Loop Simulation: Embedded Software Verification & Validation In Model Based Development
- Power management in embedded software
- Dealing with automotive software complexity with virtual prototyping - Part 3: Embedded software testing
- Dealing with automotive software complexity with virtual prototyping - Part 2: An AUTOSAR use case