Ein Angebot von

Echtzeit-Systeme

Unter Echtzeit versteht man die Anforderung an ein Rechensystem, innerhalb einer kürzesten definierten Zeitspanne korrekt zu reagieren. Dabei kommt es besonders auf schlanke, hochpräzise Abläufe an, oft unter optimaler Ausnutzung von nur begrenzt zur Verfügung stehenden Ressourcen. In der Praxis wird dabei oft zwischen "weichen" und "harten" Echtzeitsystemen unterschieden.  "Weiche" Echtzeitsysteme erlauben einen gweissen Spielraum in den Ausführungszeiten  deren Überschreitung ausschließlich qualitative Auswirkungen zur folge hat. Bei "harten" Echtzeitsystemen kann das Überschreiten der Zeitlimits bei der Reaktion  dagegen erhebliche, safety-kritische Folgen haben, etwa Gefährung von Menschen oder Beschädigung von Anlagen.


Fachbeiträge

Safety in sich schnell ändernden Systemen – Praktikable Anwendung formaler Methoden

Safety in sich schnell ändernden Systemen – Praktikable Anwendung formaler Methoden

Der klassische Entwicklungsprozess für Software im Bereich eingebetteter Echtzeitsysteme geht von einem statischen System mit festgelegten Komponenten aus. Die Marktnachfrage führt zu einem Bedarf an stärkerer Dynamik. Das erhöht die Komplexität und es wird wichtiger, den Erhalt von sicherheitskritischen Eigenschaften (safety) durch stringente Modellierung und Analyse abzusichern. lesen

Visualisierung von Antwortzeiten in FreeRTOS

Visualisierung von Antwortzeiten in FreeRTOS

Die effiziente Entwicklung von auf FreeRTOS basierender Firmware setzt voraus, dass das Timing und die Interaktionen zwischen Tasks, Interrupts und Kernel genau bekannt sind. Wie lassen sich diese aber in Software-Tests visuell darstellen und nachvollziehbar machen? lesen

Echtzeit mit Linux

Echtzeit mit Linux

Mit Linux können Systeme mit harten Echtzeit-Anforderungen einfach umgesetzt werden. Doch welcher Ansatz ist der richtige? Und welche Latenzzeiten können damit erreicht werden? lesen

Was wird aus meinem Code? Software-Performance fundiert bewerten

Was wird aus meinem Code? Software-Performance fundiert bewerten

Code soll schnell ausführbar sein, mit kurzen Latenzzeiten auskommen und ein System effizient ausnutzen. Wie aber lässt sich Software-Perfomance gut im Voraus einschätzen? Die hier vorgestellte Methodik erlaubt, die Leistung von Funktionen und Code-Fragmente genau zu ermessen. lesen

Time-Sensitive Networking (TSN): Was ist das und wie geht das?

Time-Sensitive Networking (TSN): Was ist das und wie geht das?

Ob sie nun Profibus, Profinet oder EtherCat heißen: Wen es um vernetzte Echtzeit-Lösungen geht, stehen in der Industrie zahlreiche unterschiedliche Standards in Konkurrenz. OPC/UA over TSN könnte nun erstmals eine einheitliche Lösung bieten. Was steckt dahinter? lesen

Aufbau einer DDS-Architektur für echtzeitfähige medizintechnische Bildgebung

Aufbau einer DDS-Architektur für echtzeitfähige medizintechnische Bildgebung

In der medizinischen Bildgebung müssen Daten in Echtzeit sicher und zuverlässig übertragen werden. Hier bietet sich die datenzentrische Systemarchitektur an, um strenge Designvorgaben umzusetzen. lesen

SysWCET: Ende-zu-Ende-Antwortzeiten für OSEK-Systeme

SysWCET: Ende-zu-Ende-Antwortzeiten für OSEK-Systeme

Um Rechtzeitigkeit von Aufgaben in Echtzeitsystemen garantieren zu können ist die Bestimmung von schlimmstmöglichen Antwortzeiten unerlässlich. Hierbei ist die Herausforderung die präzise Analyse aller Aktivitäten des Gesamtsystems, wie synchrone Systemaufrufe und asynchrone Interrupts, ohne allzu pessimistische Annahmen zu treffen. Der Analyseansatz SysWCET kann hier weiterhelfen. lesen

Wie Echtzeit-Software auch ohne Echtzeit-Betriebssystem entwickelt werden kann

Wie Echtzeit-Software auch ohne Echtzeit-Betriebssystem entwickelt werden kann

Ist ein Echtzeit-Betriebssystem notwendig, wenn Echtzeit-Software entwickelt wird? David Kalinsky beleuchtet in unserem Beitrag grundlegende Designthemen. lesen

Echtzeitbetriebssysteme – Einführung und Konzepte

Echtzeitbetriebssysteme – Einführung und Konzepte

Echtzeitbetriebssysteme arbeitem unter knallharten Bedingungen: Begrenzte Ressourcen, untypische Schnittstellen, strikte Anforderungen an die Bereitstellung von Tasks. Diese Einführung erklärt die wesentlichen Konzepte des Herzstücks vieler Embedded-Systeme. lesen

Parallele Multicore-Programmierung mit lockfreien Algorithmen

Parallele Multicore-Programmierung mit lockfreien Algorithmen

Um Multicore-Prozessoren in den Griff zu bekommen, werden gerne Spinlocks zur Synchronisation der Prozesse verwendet. Doch dies birgt ebenfalls die Gefahr, dass Deadlocks auftreten. Der Einsatz lockfreier Algorithmen kann ein solches Dilemma vermeiden. lesen

Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS

Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS

Im letzten C++ Tipp haben wir eine interessante Technik für Embedded-Anwendungen geschildert, die einen Embedded-Block mit einem lokalen Objekt verwendete, in dem der zugehörige Konstruktor und Destruktor auf neuartige Weise eingesetzt wurde. Dies kann sich aber auch drastisch auf das Verhalten eines Echtzeitsystems auswirken. Hier einige nähere Details. lesen

Software-Tipp: C++ mit einem Echtzeitbetriebssystem verwenden

Software-Tipp: C++ mit einem Echtzeitbetriebssystem verwenden

Bei Einsatz eines Echtzeitbetriebssystens in Embedded-Anwendungen kann die hohe Anzahl komplexer APIs, die zum Abrufen vieler RTOS-Funktionen nötig sind, unerfahrene Entwickler unter Einsatz von C abschrecken. Die Eigenschaften von C++ lassen sich hier aber gut nutzen, um auf einfache Weise zu sauberen und lesbaren Code zu kommen. lesen

Performance von Echtzeit-Betriebssystemen richtig messen

Performance von Echtzeit-Betriebssystemen richtig messen

Embedded Systeme müssen in einem strengen Korsett an Speicher- und Prozessorressourcen arbeiten - vor allem dann, wenn echtzeitkritische Leistung gefragt ist. Wie lässt sich aber die tatsächliche Performance des eingesetzten RTOS effizient und genau bestimmen? lesen

Software in Echtzeitsystemen korrekt und fehlerfrei verteilen

Software in Echtzeitsystemen korrekt und fehlerfrei verteilen

Fehler, die durch nebenläufige Software-Ausführung entstehen, verursachen meist großen System-Overhead und schränken die Verteilbarkeit bzw. die effektive Nutzung der parallelen Rechenleistung massiv ein. Dieser Beitrag betrachtet typische Fehlerfälle nebenläufiger Echtzeit-Software, bietet konstruktive Mechanismen zu deren Vermeidung und erläutert, wie mit Tools eine korrekte Softwareverteilung erreicht werden kann. lesen

Echtzeit: Grundlagen von Echtzeitsystemen

Echtzeit: Grundlagen von Echtzeitsystemen

Unter Echtzeit versteht man die Anforderung an ein Rechensystem, innerhalb einer kürzesten definierten Zeitspanne korrekt zu reagieren. Weitere wichtige Konzepte sind "harte" und "weiche" Echtzeit sowie Ereignissteuerung und Zeitsteuerung. lesen

Queuing – Warteschlangentheorie für Embedded-Software

Queuing – Warteschlangentheorie für Embedded-Software

Entwickler von Embedded-Systemen müssen beim Systementwurf oft die maximale Anzahl an Messages ermitteln, die in einer Message Queue auflaufen können. Viele RTOS benötigen diese Information, um eine Queue zu erzeugen. Besonders wenn es um „harte“ Echtzeitsysteme geht, gilt es, sich auch mit Queuing-Verzögerungen auseinanderzusetzen, lesen

Echtzeit mit dem Raspberry Pi und Linux PREEMPT_RT

Echtzeit mit dem Raspberry Pi und Linux PREEMPT_RT

Für das Raspberry Pi sind zahlreiche Betriebssysteme vorhanden, die jedoch Echtzeitanforderungen in der Regel nur unzureichend erfüllen. Mit dem PREEMPT_RT Patch können Sie auf dem Einplatinenrechner dagegen Echtzeiteigenschaften erreichen. lesen

Echtzeit- und Deadline-Scheduling von Linux

Task-Management

Echtzeit- und Deadline-Scheduling von Linux

Seit dem Linux-Kernel 3.14 steht das Deadline-Scheduling zur Verfügung. Dadurch besteht die Aussicht, dass die Parametrisierung der Tasks direkt als zeitliche Vorgabe und nicht nur als abgeleitete Priorität erfolgt. lesen

Debian oder Yocto – welches Linux-Buildsystem ist besser?

Open Source

Debian oder Yocto – welches Linux-Buildsystem ist besser?

Linux-Buildsysteme erstellen eine Kombination aus dem Linux-Kernel und der für eine bestimmte Anwendung relevanten Programme. Doch welches Buildsystem ist das richtige? lesen

Entwicklungsbeschleuniger: Zeit als neue Währung (Teil 2)

Cyber-physikalische Systeme

Entwicklungsbeschleuniger: Zeit als neue Währung (Teil 2)

LabVIEW im Serienprodukt: Echtzeit-Linux und C-Generator ermöglichen Echtzeit-Software auf eigener Embedded-Hardware. lesen

Karriere

Lauterbach GmbH

Ingenieur für das Technische Marketing

Wir sind ein mittelständisches Unternehmen mit mehr als 40 Jahren Erfahrung im Bereich von Testsystemen. ...

Firmen stellen vor:

Parasoft® Deutschland GmbH

Parasoft stellt grundlegend neues Konzept für das Testdaten-Management vor

Nächste Generation seiner Continuous-Testing-Produktreihe Parasoft SOAtest und Virtualize • Neuer Ansatz beseitigt den größten Engpass beim Testen – Testdaten • Service Virtualisierung unterstützt Zustandsübergangs-Test

MicroConsult Microelectronics Consulting & Training GmbH

Embedded-Multicore-Mikrocontroller in der Praxis (Seminar)

n diesem Praxis-orientierten Training lernen Sie die wesentlichen Mechanismen von Multicore-Mikrocontrollern und deren Leistungsfähigkeit kennen. ...

Axivion GmbH

Axivion Professional Services

Axivion – Mehr als nur ein Tool Wir bieten unseren Kunden umfassende Serviceleistungen rund um unsere Tools, ...

Downloads:

MicroConsult Microelectronics Consulting & Training GmbH

Von C nach Embedded-C: Das Ziel bestimmt den Weg (Fachartikel)

Natürlich ist Embedded-C auch C. Der Umstieg von C auf Embedded-C bedeutet aber, ...

Parasoft® Deutschland GmbH

The Forrester Wave™: Modern Application Functional Test Automation Tools, Q4 2016

The 11 Providers That Matter Most And How They Stack Up - This report shows how each provider measures up and helps application development and delivery (AD&D) ...

Mixed Mode GmbH

Expert Sessions 2017

Unsere Expert Sessions finden als kostenlose Halbtagesseminare mehrmals pro Jahr in unseren Schulungsräumen in München statt.