Mitigate Timing and Interference Issues on Multicore Processors
Circuit Cellar|August 2024
Missing multicore timing deadlines in a driver safety or aviation system is potentially catastropic. Adhering to guidance documents, and employing the appropriate testing and analysis methods ensures the efficient and deterministic execution of critical workloads.
Steve DiCamillo
Mitigate Timing and Interference Issues on Multicore Processors

Embedded software developers face unique challenges when dealing with timing and interference issues on heterogeneous multicore processor (MCP) based systems. Such systems offer higher CPU workload capacity and performance than single core processor (SCP) setups, but their complexity can make strict timing requirements extremely difficult to meet.

In hard real-time systems, deterministic execution is crucial for meeting operational and safety goals. Although MCP-based systems generally exhibit lower average execution times for a given set of tasks than do SCP systems, the distribution of these times is more variable.

This makes it difficult for developers to ensure precise timing for tasks, creating significant problems when they are building applications where meeting the worst execution times for individual tasks is more critical than meeting goals for average times.

To address such challenges, embedded software developers can turn to guidance documents like CAST-32A, AMC 20-193, and AC 20-193. In CAST-32A, the Certification Authorities Software Team (CAST) outlines important considerations for MCP timing and sets Software Development Life Cycle (SDLC) objectives for a better understanding of the behavior of a multicore system. While not prescriptive requirements, these objectives guide and support developers toward adhering to widely accepted standards like DO-178C.

In Europe, the AMC 20-193 document has superseded and replaced CAST-32A, and in the U.S., the AC 20-193 document has done the same. These successor documents, collectively referred to as A(M)C 20-193, largely duplicate the principles outlined in CAST-32A.

To apply the guidance from A(M)C 20-193, developers can employ various techniques for measuring timing and interference on MCPbased systems.

WORST-CASE EXECUTION TIMING

This story is from the August 2024 edition of Circuit Cellar.

Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.

This story is from the August 2024 edition of Circuit Cellar.

Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.

MORE STORIES FROM CIRCUIT CELLARView All
Morse Micro Launches Highly Anticipated Second-Generation MM8108 SoC
Circuit Cellar

Morse Micro Launches Highly Anticipated Second-Generation MM8108 SoC

Enabling improved spectrum efficiency to minimize interference in high-density environments, the MM8108 delivers class-leading data rates of up to 43.33Mbps using world-first sub-GHz 256-QAM modulation at an 8MHz bandwidth, making it ideal for a range of applications in agricultural, mining, industrial, home, and city environments.

time-read
1 min  |
February 2025
NXP MCX MCUs and IDEs Cut Development Time
Circuit Cellar

NXP MCX MCUs and IDEs Cut Development Time

Development boards, such as NXP's FRDM platform for MCX A series MCUs, are revolutionizing embedded systems by integrating components for prototyping and innovation in the IoT landscape. These technologies streamline development, enhance flexibility, and reduce costs, enabling greater focus on software development while addressing complex challenges.

time-read
6 mins  |
February 2025
Asynchronous Programming in Flutter - Shallow Dive into Google's Mobile App Framework
Circuit Cellar

Asynchronous Programming in Flutter - Shallow Dive into Google's Mobile App Framework

This month, Bob continues his look at mobile app programming from the perspective of an embedded system designer. He begins a shallow dive into Flutter, the mobile app framework from Google, by describing his transition from React Native to asynchronous programming in Flutter.

time-read
7 mins  |
February 2025
Basic Pulse Circuits - Part 3: Metastability, Setting, or Resetting
Circuit Cellar

Basic Pulse Circuits - Part 3: Metastability, Setting, or Resetting

In digital design, signal processing is crucial when dealing with asynchronous signals from sensors and level translators. In Part 1 of a three-part series, Wolfgang described how pulse circuits help digital circuits deal with pulse trains. In Part 2, he wrote about flip-flops, timing parameters and synchronization. In Part 3, he looks at how to mitigate metastability and ensure internal clock synchronization.

time-read
10+ mins  |
February 2025
Infineon and Flex Showcase Zone Controller Design Platform for Software-Defined Vehicles
Circuit Cellar

Infineon and Flex Showcase Zone Controller Design Platform for Software-Defined Vehicles

Infineon Technologies AG and Flex, a diversified global manufacturer and new preferred automotive design partner for Infineon, are showcasing the new Flex Modular Zone Controller design platform for software-defined vehicles at CES 2025.

time-read
1 min  |
February 2025
Switching Regulator Efficiency - Minimize Power Consumption in Battery-Operated Systems
Circuit Cellar

Switching Regulator Efficiency - Minimize Power Consumption in Battery-Operated Systems

A switching voltage regulator converts input DC voltage into a desired output DC voltage. This month, Stuart delves into the factors that influence the efficiency of switching regulators, and why they are crucial for embedded applications. From understanding the role of inductors and transistors to exploring practical examples, this article offers valuable knowledge for anyone interested in optimizing power supply designs.

time-read
10+ mins  |
February 2025
Learn Lisp Programming Using MCUs - Part 2: Extending µLisp with Custom Functions
Circuit Cellar

Learn Lisp Programming Using MCUs - Part 2: Extending µLisp with Custom Functions

In the second installment of this series, Raul delves into the world of µLisp and shows how to extend capabilities by adding custom functions such as \"pulsein\" and \"servo-create\", enabling developers to interface with ultrasonic sensors and control servomotors. In Part 1, Raul presented µLisp concepts and syntax, and extensions specific to MCUs.

time-read
10+ mins  |
February 2025
Introducing Bluetooth LE Audio - Part 1: Sound of a Revolution
Circuit Cellar

Introducing Bluetooth LE Audio - Part 1: Sound of a Revolution

Following the Bluetooth Core 5.2 release, Bluetooth Low Energy Audio introduces capabilities that will revolutionize audio applications through isochronous channels and new audio middleware. Nick writes about a framework supporting bidirectional audio and shared listening in Part 1 of a two-part article.

time-read
10 mins  |
February 2025
CMake the Most of Software Development - Modern Build Systems Support Scalability
Circuit Cellar

CMake the Most of Software Development - Modern Build Systems Support Scalability

Discover how modernizing your build system with CMake can revolutionize embedded software development, offering unparalleled flexibility and efficiency. Dive into this article to explore the transformative benefits of CMake's cross-platform capabilities and how it integrates seamlessly with contemporary development practices.

time-read
9 mins  |
February 2025
Engineering Healthcare - Cutting-Edge Technologies to Enhance Patient Care
Circuit Cellar

Engineering Healthcare - Cutting-Edge Technologies to Enhance Patient Care

Explore the groundbreaking advancements in Pulsed Field Ablation technology, where engineering meets cardiac care to revolutionize atrial fibrillation treatment. This article delves into the intricate design and functionality of cutting-edge devices that enhance precision and safety in medical procedures, showcasing the vital role electronics play in shaping the future of healthcare.

time-read
10 mins  |
February 2025