Legacy Embedded Systems, Embedded Systems cutting-edge transformation, System Design Flow, Legacy Embedded Systems. Become an Embedded Engineer.
A warm welcome to the “Legacy Embedded Systems” course by Uplatz.
Legacy Embedded Systems can be defined as the hardware and software/firmware systems performing useful tasks traditionally but requiring reengineering and upgrades due to obvious reasons. The most important drivers of this change are parts obsolescence as well as the latest system needs such as greater functionality, integration with other contemporary systems or sub-systems, increased processing and interface scalability, better physical characteristics (such as size, weight, power, volume), and decreased maintenance and life-cycle support costs. Another critical reason is the availability of modern algorithms, architectures, and technologies that meet or exceed the system’s specifications, often at a lower cost.
The existing reengineering tends to focus on simple hardware upgrades, often at the single-chip level. This one-component-at-a-time approach does not extend to board or subsystem-level reengineering and an accompanying software upgrade. For example, for some legacy systems, a single, form-efficient IC might replace many old chips all together in one go resulting into substantial improvements in performance and/or reduction of costs, and thus a board-level approach would be of much value. Many-a-times, we lack design speciﬁcations for the legacy system, and the original designers are no longer available to provide information. In such cases, we need methods for extracting the legacy system’s design intent.
Embedded systems design, development, and integration are evolving as businesses are under pressure to innovate faster than ever before. Legacy systems that were once purpose-built must be modernized or give way to new fluid and connected systems. Of course, the need for this transition as well as the actual implementation doesn’t happen in a day.
Embedded Systems Paradigm Shift
Let us assume that you are a software/systems development lead on a complex embedded development project. There are many requirements to be met in order to satisfy the project specifications as well as an aggressive delivery timeline. The project is entering the integration phase. The functionality seems to be working well and you’re feeling pretty good about things. With the exponential growth in the complexity of embedded systems, the above scenario is becoming all too common. Consider current mobile devices such as smart phones and tablets now hitting the market that have four processor cores (and an additional GPU core) with other vendors advertising eight (heterogeneous) core devices for next-gen mobile devices.
Embedded systems design is constantly changing and following enterprise systems by becoming more flexible and software-defined. Traditionally, embedded systems were purpose-built using closed architectures that were unique to each device. They run a real-time operating system (RTOS) that have fixed time constraints, where predictability is key. The RTOS ensures that these systems do not fail. Alternatively, systems without real-time requirements can run customized versions of Linux, such as Wind River Linux. These automotive embedded systems, now connected to one another, need greater security countermeasures than when they were siloed. As many major recent data breaches have demonstrated, one system can provide hackers the path into another. Security of the modernized and integrated embedded systems assumes great priority now as it is directly connected to the organization’s reputation and industry’s compliance requirements.
Drivers of changes in embedded systems design include improvements in hardware as well as the continuing evolution in software development methods. At the hardware level, it’s now possible to do more with a single CPU. Rather than host just one application, new multi-core systems on a chip (SoCs) can support multiple applications on a single hardware platform while still maintaining modest power and cost requirements. At the same time, advances in software development techniques point toward systems that are more software-defined and fluid than their predecessors.
The recent and modern automotive electronics systems have reached quite a high level of complexity today, leading to a corresponding increase in the complexity of the deployed software. This increasing complexity of embedded hardware/software increases the need for software reusability and shorter design cycle. The corresponding issues are addressed by emerging technologies in software engineering that contribute to reuse and increased flexibility while preserving interfaces and system-level integrity.
Legacy Embedded Systems – Course Curriculum
- Introduction to Legacy Embedded Systems
- Embedded Systems Paradigm Shift
- Embedded Portfolio
- Embedded System Design Flow