Modulhandbuch BaTIN2012_RechneraufbauHardwarenaheProgrammierung
Verantwortlich: Prof. Dr. Thieling
Modul
Organisation
Bezeichnung |
Lang |
BaTIN2012_RechneraufbauHardwarenaheProgrammierung |
MID |
BaTIN2012_RHP |
MPID |
|
|
|
Zuordnung |
Studiengang |
BaTIN2012 |
Studienrichtung |
G |
Wissensgebiete |
G_GWC |
|
|
Einordnung ins Curriculum |
Fachsemester |
2 |
Pflicht |
G |
Wahl |
|
|
|
Version |
erstellt |
2011-10-14 |
VID |
1 |
gültig ab |
WS 2012/13 |
gültig bis |
|
|
Zeugnistext
de
en
Unterrichtssprache
Deutsch oder Englisch
Modulprüfung
Form der Modulprüfung |
sK |
Regelfall (bei geringer Prüfungsanzahl: sMP) |
Beiträge ECTS-CP aus Wissensgebieten |
G_GWC |
5 |
Summe |
5 |
Aufwand [h]: 150
anerkennbare LV
Prüfungselemente
Vorlesung / Übung
Form Kompetenznachweis |
bÜA |
Präsenzübung und Selbstlernaufgaben |
Beitrag zum Modulergebnis |
bÜA |
unbenotet |
Spezifische Lernziele
Kenntnisse
- Grundlagen der C-Programmierung angeben, erklären, einsetzen (PFK.2, PFK.6, PFK.9). Diese sind ...
- Konstanten, Variablen, Datentypen
- Ausdrücke, Anweisungen, Kontrollstrukturen
- Präprozessoranweisungen
- Zeiger und Zeigerarithmetik
- Strukturierte Datentypen (Felder, Strukturen)
- Funktionen
- Standardbibliotheken
- Aufbau von Mehrdateienprogrammen mit Zugriff auf Bibliotheken
- Prinzipien der hardwarenahe I/O-Programmierung in C analysieren, klassifizieren (PFK.1, PFK.2, PFK.4)
- Aufbau digitaler I/O-Ports analysieren und verstehen
- Erreichbarkeit von I/O-Ports klassifizieren
- Memory-Mapped-I/O
- seperater I/O-Adressbereich
- Zugriff auf I/O-Ports mittels Zeiger verstehen und implementieren
- Zugriff auf I/O-Ports mittels Treiberbibliotheken verstehen und erläutern
- Prinzip der Automatenimplementierung unter C kennen und erläutern (PFK.2)
- Aufbau und Funktionsweise eines Kleinrechnersystems mit verschiedenen I/O-Schnittstellen analysieren und beschreiben (PFK.1, PFK.4, PFK.10)
- Analysieren der Gesamt-Architektur (Register, Rechenwerk, Steuerwerk, Speicher, Busstruktur, I/O-Schnittstellen) und beschreiben der Wechselwirkung der Komponenten
- Funktionsweise, d.h. Ablauf einer Programmabarbeitung auf Basis von Registertransfers verstehen und erläutern
- Elementare Grundlagen zur Programmierung des Kleinrechners in Assembler verstehn und beschreiben
- Aufbau, Arbeitsweise der I/O-Schnittstellen verstehen und erläutern
- digitale Ports (siehe oben)
- Timer/Counter (inkl. Digital-Analog-Wandlung mittel Pulsweitenmodulation)
- Analog-Digital-Wandler
- serielle Schnittstelle
- Prinzipien des Interrupts klassifizieren, erläutern, bewerten (PFK.1, PFK.4)
- Interrupt-Quellen und -Arten klassifizieren
- Prinzip der Interruptbearbeitung verstehen und erläutern
- Interupt-Vektor-Tabelle
- Interrupts-Service-Routine
- zeitlicher Ablauf der Interruptsbearbeitung
- Mechanismen zur Bearbeitung konkurrierender Interrupts verstehen, bewerten
- Funktionsweise und Aufgabe des Interrupts bei den verschiedenen I/O-Schnittstellen kennen und erläutern
Fertigkeiten
- Grundlagen der C-Programmierung programmiertechnisch anwenden (PFK.5, PFK.6)
- Prinzipien der hardwarenahe I/O-Programmierung in C programmiertechnisch anwenden (PFK.5, PFK6)
- Implementierung von Treiberbibliotheken in C
- Implementierung bitbasierte Ein-Ausgabe und Auswertung von Daten mittels C
- Elementare Grundlagen der Assembler-Programmierung in Form von Inline-Assembler in C-Programmen programmiertechnisch anwenden (PFK.5, PFK.6)
- Detaillierten technischen Spezifikationen von I/O-Schnittstellen interpretieren, so dass zielgerichtete sinnvolle Konfigurationen erstellt werden können (PFK.1, PFK.4, PFK.10)
- Erstellen von Treiberbibliotheken in C für verschiedene I/O-Schnittstellen mit Unterstützung ihrer Interruptfähigkeit (PFK.1, PFK.2, PFK.5, PFK.6)
- Systemverhalten aus spezifizierenden Texten herleiten (PFK.3, PFK.4, PFK.1, PFK10, PFK.2)
- technische Texte erfassen
- implizite Angaben erkennen und verstehen
- fehlende Angaben
- erkennen
- ableiten
- erfragen
- Erarbeitung von Problemlösungen aus dem Bereich Messen-Steuern-Regeln, die sich mit C-Programmen realisieren lassen (PFK.1, PFK.2, PFK.3, PFK.4, PFK.5, PFK.6, PFK.9, PFK.10)
- Systemverhalten aus spezifizierenden Text herleiten
- Auswahl und Konfiguration der benötigten I/O-Schnittstellen
- Erarbeitung eines Interruptskonzeptes
- Aufstellen des Zustandsüberführungsdiagramms
- Auswahl der geeigneten Spezifikationsform (Moore versus Mealy)
- Bewertung der Spezifikation
- Vollständigkeit
- Determiniertheit
- Lebendigkeit
- Implementierung mittels C unter Verwendung von Treiberbibliotheken
- Prinzipien der Laufzeitsystem für C-Programme analysieren und erläutern (PFK.4, PFK.9)
- Art der C-Funktions-Parameterübergabe mittels Stack klassifizieren (call by value/reference)
- Verwaltung lokalen C-Variablen mittels Stack erläutern
- dynamischer Stackauf und -abbau bei geschachtelten C-Funktionsaufrufen ermitteln und beschreiben
- dynamischen Stackaufbau mittels Debugger analysieren und beschreiben
- zielgerichtetes Handhaben der Software-Entwicklungsumgebung (PFK.9)
- Compiler
- Linker
- Debugger
- Simulator
Handlungskompetenz demonstrieren
- komplexere Aufgaben in einem Kleinteam bewältigen (PSK.3, PSK.4)
- Erarbeitung von komplexeren Problemlösungen aus dem Bereich Messen-Steuern-Regeln, die sich mit C-Programmen realisieren lassen
- komplexeren Problemstellungen verstehen und analysieren (PFK.1, PFK10, PFK.2, PFK.4, PFK.3, PSK.3, PSK.4, PFK.8)
- Systemverhalten aus spezifizierenden Texten herleiten
- System strukturiert analysieren
- sinnvolle Teilsysteme erkennen
- Schnittstellen zwischen Teilsystemen erfassen
- Gesamtsystem auf Basis von Teilsystemes modellieren (PFK.1, PFK.2, PFK.4, PFK.5, PFK.10)
- Teilsysteme modellieren. Hierbei soweit möglich auf zur Vefürgung stehende Komponenten (I/O-Schnittstellen) abbilden, d.h. Komponentenauswahl und Konfiguration. (PFK.1, PFK.2, PFK.4, PFK.5, PFK.10)
- Problemlösung mittels Software-Entwicklungsumgebung in C implementieren, testen und am Zielsystem in Betrieb nehmen (PFK.1, PFK.5, PFK.6, PFK.7, PFK.9, PSK.3)
- Spezifiation von Teilsystemen in C
- Treiberfunktion für zur Verfügung stehende Komponenten (I/O-Schnittstellen)
- Interrupt-Service-Funktionen
- Funktionen zur Implementierung von Zustandübergangsdiagrammen
- Funktionen zur Systembedienung
- ...
- Compilieren der Teilsysteme
- Finden syntaktischer Fehler und deren Behebung
- Simulation und Debuggen von Teilsystemen
- Erstellen von Teststimuli
- Finden semantischer Fehler und deren Behebung
- Spezifikation des Gesamtsystems in C
- Simulation und Debuggen des Gesamtsystems
- Erstellen von Teststimuli
- Finden semantischer Fehler und deren Behebung
- Gesamtsystem am Zielsystem in Betrieb nehmen
Exemplarische inhaltliche Operationalisierung
Praktikum
Form Kompetenznachweis |
bPA |
Praktikum, Gruppenarbeit |
Beitrag zum Modulergebnis |
bPA |
Testat als Voraussetzung zur Klausur |
Spezifische Lernziele
Kenntnisse
Fertigkeiten
Handlungskompetenz demonstrieren
Exemplarische inhaltliche Operationalisierung

Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki?
Feedback senden