Eingebettete Systeme - Cheatsheet.pdf

Eingebettete Systeme - Cheatsheet
Eingebettete Systeme - Cheatsheet Definition und Merkmale eingebetteter Systeme Definition: In ein größeres System integrierte, spezialisierte Computersysteme, die spezifizierte Aufgaben ausführen. Details: Rechenkapazität auf spezifische Aufgaben beschränkt Echtzeitbetrieb häufig erforderlich Hohe Zuverlässigkeit und Verfügbarkeit Meist geringe Benutzerinteraktion Oft ressourcenbeschränkt (CPU, S...

© StudySmarter 2024, all rights reserved.

Eingebettete Systeme - Cheatsheet

Definition und Merkmale eingebetteter Systeme

Definition:

In ein größeres System integrierte, spezialisierte Computersysteme, die spezifizierte Aufgaben ausführen.

Details:

  • Rechenkapazität auf spezifische Aufgaben beschränkt
  • Echtzeitbetrieb häufig erforderlich
  • Hohe Zuverlässigkeit und Verfügbarkeit
  • Meist geringe Benutzerinteraktion
  • Oft ressourcenbeschränkt (CPU, Speicher)
  • In Hardware und Software eingebettet
  • Beispiele: Medizingeräte, Automobilsteuerungen, Haushaltsgeräte

Energieeffizienz und Leistungsanforderungen

Definition:

Optimierung der Energie und Leistung eingebetteter Systeme für maximale Effizienz.

Details:

  • Leistungsaufnahme (\textit{Power Consumption}): \(\text{P} = \text{V} \times \text{I}\)
  • Verbrauchsprofil: Ruhezustand, aktive Phasen
  • Energieverwaltungstechniken: Taktfrequenzskalierung (DFS), Spannungsanpassung (DVS)
  • Leistungsanforderungen: Durchsatz, Latenzzeit, Echtzeitfähigkeit
  • Energie-Metriken: Energie pro Operation (EPO), Energieverzögerungs-Produkt (EDP)
  • Balancierung: Trade-off zwischen Energieverbrauch und Leistung

Partitionierungsstrategien im Hardware-Software-Co-Design

Definition:

Partitionierungsstrategien im Hardware-Software-Co-Design befassen sich mit der optimalen Aufteilung von Aufgaben oder Komponenten eines eingebetteten Systems auf Hardware und Software, um Leistungsfähigkeit und Effizienz zu maximieren.

Details:

  • Ziel: Maximale Effizienz und Leistung
  • Balance zwischen Flexibilität der Software und Leistung der Hardware
  • Ansätze: statisch (fixe Partitionierung) vs. dynamisch (adaptive Partitionierung)
  • Kriterien: Kosten, Energieverbrauch, Zeitverhalten
  • Werkzeuge: z.B. Task-Graphen, Scheduling-Algorithmen

Planungsalgorithmen in Echtzeitsystemen

Definition:

Planungsalgorithmen in Echtzeitsystemen garantieren die zeitgerechte Ausführung von Aufgaben unter Berücksichtigung von Echtzeitanforderungen.

Details:

  • Statische und dynamische Planungsverfahren
  • Prioritätenbasierte Planung
  • Raten-Monotone Planung (RMS): Fixe Prioritäten, niedrigstes Intervall erhält höchste Priorität.
  • Earliest Deadline First (EDF): Dynamische Prioritäten, früheste Deadline zuerst.
  • Nutzenfunktion: \ U = \sum_{i=1}^{n} \frac{C_i}{T_i} \leq 1
  • Berücksichtigt rechenzeitliche und terminliche Anforderungen
  • Fehlertoleranz und Ausfallsicherheit
  • Aufgabenwechsel und Kontextwechselkosten

Anpassung und Konfiguration des Embedded Linux Kernels

Definition:

Anpassung und Konfiguration des Embedded Linux Kernels bedeutet die individuelle Einrichtung und Modifikation des Kernels für spezielle Anforderungen und Hardware-Plattformen.

Details:

  • Kernel-Quellcode downloaden und entpacken
  • \texttt{make menuconfig} nutzen für Konfigurationsmenü
  • Hardware-spezifische Module und Treiber aktivieren/deaktivieren
  • Kernel-Parameter setzen (z.B. Fußabdruck verkleinern)
  • Konfiguration speichern (\texttt{.config}-Datei)
  • Kernel kompilieren: \texttt{make} Befehl ausführen
  • Erstellte Kernel-Image und Module auf Zielsystem übertragen

Signalverarbeitung und -übertragung in Sensoriksystemen

Definition:

Verarbeitung und Weiterleitung von analogen/digitalen Sensordaten.

Details:

  • Signalwandlung: Analog-Digital (AD) und Digital-Analog (DA)
  • Filterung: Tiefpass, Hochpass, Bandpass, Bandsperre
  • Modulation: Amplituden-, Frequenz-, Phasenmodulation
  • Protokolle: I2C, SPI, UART, CAN-Bus
  • Fehlerkorrektur: Prüfsummen, Hamming-Code

Angriffsmodelle und -szenarien in eingebetteten Systemen

Definition:

Angriffsmodelle und -szenarien spezifizieren, wie und unter welchen Bedingungen Angriffe auf eingebettete Systeme durchgeführt werden können.

Details:

  • Angriffsmodell: Beschreibung der Annahmen über die Fähigkeiten und Ressourcen eines Angreifers.
  • Bedrohungsmodell: Bestimmung potenzieller Bedrohungen und Schwachstellen im System.
  • Szenarien: Konkrete Beispiele von Angriffen, die durchgeführt werden könnten.
  • Common Angriffstypen: Side-Channel-Angriffe, Manipulation von Firmware, physischer Zugriff.
  • Sicherheitsmechanismen: Kryptographie, Secure Boot, Zugangskontrolle.

Cross-Entwicklung und -Debugging für Embedded Linux

Definition:

Cross-Entwicklung und -Debugging ermöglichen die Entwicklung und Fehlerbehebung von Software für Embedded Linux auf einem leistungsfähigeren Host-System.

Details:

  • Verwende einen Cross-Compiler, z.B. GCC, um Code auf dem Host-System zu kompilieren.
  • Debugging erfolgt oft mit gdbserver und gdb über eine Netzwerkverbindung.
  • Cross-Development-Toolchains werden zur Anpassung von Compilern und Bibliotheken an die Zielarchitektur verwendet.
  • Remote Debugging erlaubt das Setzen von Breakpoints im laufenden Prozess auf dem Zielsystem.
  • \texttt{sysroot} wird genutzt, um Bibliotheken und Header-Dateien der Zielplattform im Cross-Entwicklungssystem bereitzustellen.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden