Why


The ADAS/AD challenge
Learn about the challenges of developing safe ADAS/AD vehicle functions


The AD Cycle - How it works
Learn about the AD Cycle works for efficient ADAS/AD development


Benefits of ETAS Deterministic Middleware Solution
See why the worlds top automotive OEMs choose us

Solution concepts


System representation concepts
Fundamental concepts to construct ADAS / AD systems


YAAA Modeling Concepts and Workflow
YAML-based concepts and workflows to model ADAS / AD systems


Deterministic Recompute and Virtual Drives
The 🔑 to development efficiency


Scheduling Mechanisms in ETAS DMS
Achieving optimal compromises between latency and predictability

Basics


Determinism
Gain deeper understanding on determinism in embedded real-time systems


Differences of μC and μP-based embedded systems
Why achieving deterministic behavior μP-based embedded systems is a challenge


Glossary
Understand the terms and abbreviations used in ETAS Deterministic Middleware Solution

Products


ETAS DMS Software Development Kit
Design, develop, build, debug and test ADAS/AD applications

ETAS DMS Middleware & Runtime Libraries
Safety-certified middleware and runtime libraries for series production

For whom


Software Architects
Architecture-as-code. Git-based collaboration. Auto-generated graphics.


Feature Developers
Reduced development complexity. Fast debugging with real vehicle data.

Services


Trainings
Get up to speed on developing with ETAS Deterministic Middleware Solution through our expert trainings


Consultancy
Want to know how to best make use of ETAS Deterministic Middleware Solution for your ADAS/AD platform or project?


Proof of Concept (PoC)
See one of your ADAS/AD vehicle functions developed with ETAS Deterministic Middleware Solution


Custom Project
Have a special need or require an extension to ETAS Deterministic Middleware Solution?

Support


FAQs
Get answers to frequently asked questions about ETAS Deterministic Middleware Solution


Contact
Get in touch with an expert to obtain support

Infos and news about ETAS Deterministic Middleware Solution


Blog
Get the latest news about ETAS Deterministic Middleware Solution


Newsletter
Get the latest news about ETAS Deterministic Middleware Solution delivered to your email inbox


Whitepapers
Read in-depth information, analysis, and insights from our experts

Deterministic behavior on microcontroller and microprocessor-based embedded systems

How Microcontrollers and RTOS Support Deterministic Behavior

Microcontrollers and real-time operating systems (RTOS) are designed to support deterministic behavior, which is essential for time-critical tasks such as those in automotive systems.

  • Dedicated Resources: Microcontrollers typically have fewer tasks competing for system resources, leading to more predictable timing. They often have simpler architectures without advanced features like out-of-order execution or speculative execution, which are common in more complex microprocessors but can introduce unpredictability.
  • Prioritized Task Scheduling: RTOS usually employ priority-based preemptive scheduling, where higher-priority tasks can interrupt lower-priority ones. This ensures critical tasks are executed in a timely manner, minimizing jitter and supporting real-time deadlines.
  • Minimal Latency and Overhead: RTOS are optimized for minimal context-switching overhead and interrupt latency, which helps in achieving faster response times and consistent task execution.
  • Interrupt Handling: Microcontrollers with an RTOS allow for direct handling of hardware interrupts, with minimal software abstraction, ensuring a quick and deterministic response to external events.
  • Static Memory Allocation: RTOS typically avoid dynamic memory allocation or limit its use, which reduces unpredictability caused by memory fragmentation or garbage collection pauses.

Challenges of Achieving Deterministic Behavior on Microprocessor-Based Systems with POSIX-Based OS

  • Complex Architecture: Microprocessors often have complex features like pipelines, caches, and memory hierarchies, which can introduce variability in task execution times. Cache misses or speculative execution can delay task execution in unpredictable ways.
  • Time-Sharing Systems: POSIX-based systems like Linux or Unix are designed for general-purpose computing, where multiple processes share system resources through time-sharing. This leads to unpredictability since tasks are not guaranteed to run at specific times or within bounded durations.
  • Scheduling Policies: POSIX operating systems typically use fairness-based schedulers, such as the Completely Fair Scheduler (CFS), which focus on maximizing overall system throughput rather than ensuring that tasks meet strict timing deadlines.
  • Interrupt Latency: In POSIX-based systems, interrupts are often delayed by non-deterministic factors such as kernel activities, memory management, and context switching. This can cause jitter, which makes meeting real-time deadlines challenging.
  • Dynamic Memory Management: POSIX systems rely heavily on dynamic memory allocation, paging, and virtual memory mechanisms. These introduce non-deterministic delays because of page faults, memory swapping, or garbage collection processes.

In essence, achieving deterministic behavior on microcontroller-based systems is easier because they are specifically designed for real-time control, with hardware and software that focus on predictability. In contrast, microprocessor-based systems running POSIX-based OS prioritize flexibility and multitasking, which complicates the guarantee of deterministic execution.

Determinism in ETAS DMS

ADAS / AD systems build with ETAS DMS entail data determinism as the consistency and predictability of the system's behavior with respect to data processing is essential for validating the correctness of the system.