Praktikum: Entwicklung interaktiver eingebetteter Systeme - Cheatsheet.pdf

Praktikum: Entwicklung interaktiver eingebetteter Systeme - Cheatsheet
Praktikum: Entwicklung interaktiver eingebetteter Systeme - Cheatsheet Gestaltung von Benutzeroberflächen Definition: Gestaltung von Benutzeroberflächen (UI) fokussiert sich auf die visuelle und interaktive Gestaltung von Software-Systemen, um eine benutzerfreundliche und effektive Nutzung sicherzustellen. Details: Wichtige Prinzipien: Konsistenz, Feedback, Effizienz, Fehlertoleranz Visuelles Desi...

© StudySmarter 2024, all rights reserved.

Praktikum: Entwicklung interaktiver eingebetteter Systeme - Cheatsheet

Gestaltung von Benutzeroberflächen

Definition:

Gestaltung von Benutzeroberflächen (UI) fokussiert sich auf die visuelle und interaktive Gestaltung von Software-Systemen, um eine benutzerfreundliche und effektive Nutzung sicherzustellen.

Details:

  • Wichtige Prinzipien: Konsistenz, Feedback, Effizienz, Fehlertoleranz
  • Visuelles Design: Farben, Layout, Typografie
  • Interaktionsdesign: Navigation, Eingabeelemente
  • Evaluierung: Usability-Tests, Heuristiken

Nutzerzentriertes Design

Definition:

Methode zur Gestaltung interaktiver Systeme, die den Nutzer und seine Bedürfnisse in den Mittelpunkt stellt.

Details:

  • Iterativer Designprozess: Analyse, Design, Implementierung, Evaluation
  • Wichtige Methoden: Kontextanalyse, Personas, Szenarien, Prototyping
  • Ziele: Gebrauchstauglichkeit (Usability), Benutzerfreundlichkeit und positive Nutzererfahrung (User Experience)
  • Evaluationsmethoden: Usability-Tests, Umfragen, Interviews
  • Beachtung von ISO 9241 (Ergonomie der Mensch-System-Interaktion)

Architektur eingebetteter Systeme

Definition:

Architektur eingebetteter Systeme - beschreibt den strukturellen Aufbau und das Zusammenspiel der Hardware- und Softwarekomponenten eingebetteter Systeme.

Details:

  • Komponenten: Mikrocontroller, Sensoren, Aktoren, Speicher, Kommunikationsschnittstellen
  • Softwarearchitektur: Betriebssystem (RTOS vs. Bare Metal), Middleware, Anwendungsschicht
  • Echtzeitfähigkeit: Anforderungen an Zeitverhalten und Reaktionszeiten
  • Hardware-Software-Co-Design: Integration von Hardware- und Softwareentwicklungen
  • Sicherheitsanforderungen: Zuverlässigkeit, Verfügbarkeit und Sicherheit
  • Entwurfsstrategien: Top-Down und Bottom-Up
  • Leistungsoptimierung: Energieverbrauch, Speicherplatz, Verarbeitungsgeschwindigkeit

Hardware-Software-Co-Design

Definition:

Kombinierter Entwurf von Hardware und Software, um optimale Systeme zu schaffen.

Details:

  • Ziel: Maximierung der Leistung und Effizienz
  • Iterativer Entwicklungsprozess
  • Verwendet Modellierung und Simulation
  • Enge Abstimmung zwischen Hardware- und Softwareteams
  • Beispiele: eingebettete Systeme, SoC-Designs
  • Wichtige Tools: Hardwarebeschreibungssprachen (HDLs) wie VHDL/Verilog, Softwareentwicklungstools

Energieeffiziente Programmierung

Definition:

Techniken zur Reduktion des Energieverbrauchs von Software auf eingebetteten Systemen.

Details:

  • Algorithmen optimieren: Wahl energieeffizienter Algorithmen.
  • Sleep-Modi nutzen: Prozessoren schlafen legen, wenn sie nicht aktiv sind.
  • Spannungs- und Frequenzskalierung (DVFS): Dynamische Anpassung der Spannung und Frequenz des Prozessors an die jeweiligen Bedürfnisse.
  • Memory Management: Geringerer Energieverbrauch durch effizientes Speichermanagement.
  • Pareto-Effizienz: Gleichgewicht zwischen Energieverbrauch und Leistung finden.
  • Messung und Monitoring: Energieverbrauch messen und analysieren.
  • Hardware-Verständnis: Kenntnis der Hardware-Einschränkungen und -Möglichkeiten nutzen.

Mikrocontroller-Programmierung in C/C++

Definition:

Programmierung von Mikrocontrollern verwendet C/C++ für effiziente Hardwaresteuerung und Ressourcenmanagement.

Details:

  • Direkter Zugriff auf Hardware-Register mit C
  • Nutzung von speziellen Mikrocontroller-Bibliotheken
  • Interrupt-Handling und zeitkritische Programmierung
  • Energieeffiziente Code-Erstellung
  • Integration von Peripheriegeräten (Sensoren, Aktoren)
  • Debugging und Fehlersuche meistens über serielle Schnittstellen
  • Hardware-Abstraktionsschichten (HAL) für Portabilität

Interrupt-Handling bei Mikrocontrollern

Definition:

Mechanismus zur Unterbrechung der normalen Programmausführung, um auf externe oder interne Ereignisse schnell zu reagieren.

Details:

  • Interrupts können hardware- oder softwarebasiert sein.
  • Unterbrechungen werden durch Interrupt-Service-Routinen (ISR) bearbeitet.
  • Wichtige Register: Interrupt-Vektor-Tabellen, Statusregister.
  • \text{ISR} sollte so kurz wie möglich sein, um die Reaktionszeit zu minimieren.
  • Globale und lokale Interrupt-Enable/Disable-Flags kontrollieren die Interrupt-Aktivierung.
  • Prioritätsmechanismen bestimmen Reihenfolge bei mehreren gleichzeitigen Interrupts.

Echtzeitbetriebssysteme und Task-Scheduling

Definition:

Echtzeitbetriebssystem (Real-Time Operating System, RTOS) ist ein Betriebssystem, das Aufgaben innerhalb einer definierten Zeitspanne erledigt. Task-Scheduling referiert auf das Planen und Koordinieren der Ausführung von Aufgaben im System.

Details:

  • Determinismus: Garantierte Reaktionszeiten auf Ereignisse.
  • Preemptive Scheduling: Höher priorisierte Aufgaben unterbrechen niedrig priorisierte.
  • Deadline: Zeitrahmen, innerhalb dessen eine Aufgabe abgeschlossen sein muss.
  • Ressourcenverwaltung: Optimale Verteilung und Nutzung von Ressourcen wie CPU und Speicher.
  • Wichtige Algorithmen: Fixed Priority Scheduling, Round-Robin, Rate-Monotonic Scheduling (RMS), Earliest Deadline First (EDF).
  • Prios: Aufgaben werden meist durch Prioritäten organisiert.
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