This content is not included in
your SAE MOBILUS subscription, or you are not logged in.
Embedded Software - Issues and Challenges
Technical Paper
2009-01-1617
ISSN: 0148-7191, e-ISSN: 2688-3627
Annotation ability available
Sector:
Language:
English
Abstract
Embedded software is a software system that permanently resides in a device whose operations it controls. Typically, embedded systems are housed on flash memory or ROM chip and may be found in systems like cellular phones, household and office appliances having digital interfaces, medical equipment, automotive components, avionics etc. The fundamental problem facing the design of embedded systems is heterogeneity. Multiple styles of algorithms (e.g. signal processing, communications, and controls) are implemented using a variety of technologies (e.g., digital signal processors, microcontrollers, field-programmable gate arrays, application-specific integrated circuits, and real-time operating systems).Other challenges in automotive development are increasing requirements and therefore increasing size and complexity of the code, development and management of offshore / muti-site software development to reduce costs. Embedded software developers need embedded software development tools to develop embedded software. An embedded software development environment is an integrated collection of software development tools that manage the entire embedded software development process: analyzing, designing, documenting, writing, compiling, debugging, testing, optimizing, and verifying software. The choice of an embedded software development environment is the most important determinant of the productivity and effectiveness of developers. Requirement management systems can be used for capturing, linking, analyzing, and managing changes to requirements and their traceability and hence ensure conformance to requirements and compliance with regulations and standards. Using optimizing compilers with multi software development environment, developers can consistently generate smaller and faster code. A debugger helps developers find more bugs in their software more quickly. Getting the bugs out of the software is the most expensive, time consuming, and high-risk aspect of electronic product development. Testing of applications at unit level allows finding bugs early in the development process and increases the confidence level for system test, because the system is now based on well-tested units. The usage of appropriate test tools enables the automation of unit testing and is the base for regression testing, thus optimizing the development process and providing the base for future product feature enhancements.
Recommended Content
Technical Paper | Embedded Software - Issues and Challenges |
Aerospace Standard | Overview and Rationale for GOA Framework Standard |
Technical Paper | The Fault Assumptions in Distributed Integrated Architectures |
Authors
Topic
Citation
Patil, S. and Kapaleshwari, L., "Embedded Software - Issues and Challenges," SAE Technical Paper 2009-01-1617, 2009, https://doi.org/10.4271/2009-01-1617.Also In
References
- Challenges for embedded software development Woodward Michael V. Member IEEE Mosterman Pieter J. Member IEEE
- AUTomotive Open System Architecture Seminar Software Engineering for Automotive Systems - Florian Leitner
- Automated Unit Testing of Embedded ARM Applications Schmitt, Wolfgang Manager, Hitex
- Analysing tool support for embedded system engineering in collaborative development environment Heinonen Samuli Kääriäinen Jukka Soininen Sanna Takalo Juha VTT Technical Research Centre Finland
- Beating the Automotive Code Complexity Challenge Components, Models and Tools Hansson Hans Nolin Mikael Nolte Thomas Mälardalen Real-Time Research Centre Västerås, SWEDEN
- FIDES: A Multi-Core Platform to Enhance Robustness of Embedded Systems Hiroaki INOUE Naoki SATO
- Manage embedded systems complexity with SysML McKorkle Scott Telelogic