Organisation - Fakultät Elektrotechnik und Informationstechnik

Werbung
Fakultät Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik
Mikrorechentechnik 1
Organisation
Professur für Prozessleittechnik
Wintersemester 2010/2011
Qualifikationsziele
• Sie können
– Algorithmen, Datenstrukturen und Programme in 80x86
Assembler und C lesen, entwerfen, implementieren und
debuggen,
– sich in neue hardware- und projektspezifische
Befehlssatzarchitekturen und Werkzeugketten einarbeiten,
– Projekte, die die Programmierung von Mikrocontrollern
beinhalten, planen, bewerten und durchführen.
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 2
Hypothetisches Beispiel: Anti-Blockier-System
• Mechatronische Komponenten:
– 1 = Steuereinheit, 2 = Druckmodulator,
3 = Induktionsgeber, 4 = Bremssattel, 5 =
Hydraulikleitung
• Steuereinheit auf Microcontroller
– Ansteuerung der Aktoren, Erfassung des Sensorsignals
– Algorithmus zur Steuerung der Bremskraft
– Parameter zur Anpassung an verschiedene
Konfigurationen
– Aufzeichnen der „Geschichte“
– Kommunikation für Parametrierung und Abfrage über
CAN-Bus
(Bildquelle: http://commons.wikimedia.org/wiki/File:ABS.jpg)
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 3
Java, C, C++ oder Assembler?
• Java:
– Hardwareunabhängig / Denken in Objekten / „bequem“
– Aber: Viel Speicherbedarf für RTE!
• C / C++:
– Portable Sprache. In Automatisierungsprojekten sehr häufig
eingesetzt
– C++ = C mit Objekten & deterministisches Verhalten &
generische Programmierung --> komplexe AT-Projekte
• Assembler:
– Maschinennahe Sprache (für jede CPU-familie eine oder mehrere)
– Ganz nahe an der Hardware.
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 4
Was muss ich für die Programmierung mit
Assembler alles wissen?
• Hardwarearchitektur
– CPU, Register, Speicher, Peripherie
• Befehlssatzarchitektur
– Operationen und Operanden,
– Register, Adressierung des Speichers
– Stapelspeicher, Interrupts
• Programmiersprache ( Assembler )
– Syntax (Operanden, Variablen, Register, Adressangaben)
– Sprünge, Schleifen, Unterprogramme
– Makros (Textersetzung)
•
Algorithmen und Datenstrukturen
TU Dresden, 11.10.2009
MRT1 (c) Urbas 2007-2011
Folie 5
Lehrinhalte
• Mikrorechnerkonzepte
– Architekturen (Stack, Akkumulator, Register)
– Befehlssätze, Adressierungsarten
• Hardwarenahe Programmierung mit Assembler
–
–
–
–
Intel 80x86 Prozessorfamilie
x86-Assembler (NASM)
Datenstrukturen und Algorithmen
Kopplung mit technischen Prozessen
• Hardwarenahe Programmierung mit C
– Portable Programmierung
– Datenstrukturen und Algorithmen, Echtzeitverarbeitung
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 6
Organisation
• Vorlesung: Grundlagen (2 DS/Woche)
– Folienvortrag und Tafelbilder
– Lauffähige Code-Beispiele
– Kontrollfragen
• Selbststudium: Vertiefung (30-60 Minuten/Woche)
– Folien und Code-Beispiele zur Vorlesung
– Kurzreferenz 80x86-Assembler, C
– Übungsbeispiele (mit Musterlösungen)
• 3 x Praktika (1 DS, 5-10 Std. Vorbereitung/Termin)
– Eingangstest, Implementierung, Protokoll
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 7
Praktika (ab Mitte November)
• μP-Simulator
– Modellprozessor mit Akkumulator-Architektur
– Visualisierung innerer Arbeitsabläufe
• Assembler
– Ansteuerung eines Matrix-Displays
– Hardwarenahe Programmierung
• C-Programmierung
– Portable Grafikausgabe in C mit einer
Grafikbibliothek für Linux/Mac/Windows
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 8
Zeiten und Termine
• Vorlesung 11.10.2010 bis 8.12.2009
–
–
–
–
Montag
5.DS 14.50 - 16.20 Uhr, BAR/SCHÖ
Mittwoch
5.DS 14.50 - 16.20 Uhr, BAR/SCHÖ
Sprechstunde: Dienstag 3.DS 11.10 – 12.40, BAR/E24
E-Mail: [email protected]
• Einschreibung Praktikumstermine per WWW
– Gruppen á 4 Personen (bitte jetzt schon zusammenfinden)
– Einweisung voraussichtlich 1.11, 16:10 durch Dr. Schingnitz
– Einschreibung
WS08/09
Okt
Nov
Dez
bis 5.11
Vorlesung
Jan
PR Simulator
PR Assembler
PR C/Grafik
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 9
Datum
LfdNr
Planung
11.10.2010
1
Einführung, Prozessorkonzepte, i80x86
18.10.2010
2
Familie i80x86: Register, Adressierungsarten; Werkzeugkette
20.10.2010
3
Speicheraddressierung, Datentransfer, Operationen
25.10.2010
4
Installation Live-CD; Bedingte Steuerung des Programmflusses
27.10.2010
5
Unterprogramme, Stacks, Interrupts
01.11.2010
6
Makros, Pseudobefehle und Steueranweisungen
03.11.2010
7
Anbindung Prozessperipherie / 16-bit real mode
13.10.2010 HÜ
Hausübung
Wiederholung INF1 (+INF2)
Grobplanung
Vorlesung
08.11.2010
HÜ
Hausübung Progammentwurf ASM
10.11.2010
8
Grundelemente der Programmiersprache C
15.11.2010
9
Datentypen, Ausdrücke und Typumwandlung
17.11.2010
-
Buß- und Bettag
22.11.2010
10
Steuerung des Programmflusses, Felder, Strukturen & Zeiger
24.11.2010
11
Dynamische Datenstrukturen in C
29.11.2010
HÜ
01.12.2010
06.12.2010
08.12.2010
Hausübung Programmentwurf C
12
HÜ
Einsatz von Funktionssammlungen
Hausübung Funktionssammlungen
13
TU Dresden, 11.10.2010
Einführung in die Echtzeitverarbeitung mit posix-threads
MRT1 (c) Urbas 2007-2011
Folie 10
Vorlesungsbegleitende Materialien
• Folien
• Übungsbeispiele
• Kurzreferenzen
• Software
• Bedienungs- und
Installationshinweise
http://www.et.tu-dresden.de/typo3/ifa/index.php?id=628
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 11
Linux Live-DVD für MRT 1 und 2
• Bootfähiges ISO-Image für 80x86 Rechner
– Linux (ubuntu 8.04)
– Direkt von DVD/USB-Stick bootbar
– Installation als alternatives Betriebssystem oder in VirtualBox
• Integrierte Entwicklungsumgebung Eclipse/CDT
– gnu Werkzeugkette mit NASM-Assembler für Linux
– dosbox mit MASM (für zweiten Praktikumsversuch)
• Erweiterbar
– OpenOffice, Spiele, ...
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 12
Literatur
• Mikrorechentechnik Grundlagen
– Flik, T. (2001) Mikroprozessortechnik und Rechnerstrukturen.
Berlin : Springer.
– Bähring, H. (2002) Mikrorechner-Technik. Berlin: Springer.
• Assembler
– Backer, R. (2003) Assembler. Maschinennahes Programmieren
von Anfang an. Reinbeck : rororo (9.90 EUR)
– Carter, P.A. (2006) PC Assembly Tutorial. Deutsche Übersetzung
von U. Bicheler. http://www.drpaulcarter.com/pcasm/
• C-Programmierung
– Tondo, C.L. & Gimpel, S.E. (1990) Das C-Lösungsbuch. München:
Hanser
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 13
Voraussetzung Informatik für ET/MT
• Informatik 1
– Zahlensysteme, Kodierung, Codes
– Boolsche Algebra, Einfache Schaltungen, Rechenwerke
– Architektur, Befehlssätze, Adressierung
• Informatik 2
– Abstraktion und Modellierung
– Felder und Strukturen statt komplizierter Adressierungsarten
(rückwärtsgedacht :-)
TU Dresden, 11.10.2010
MRT1 (c) Urbas 2007-2011
Folie 14
Herunterladen