Hier steht der Titel der Power Point Präsentation.

Werbung
Fakultät Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik
Mikrorechentechnik 1
Organisation
Professur für Prozessleittechnik
Wintersemester 2013/2014
Qualifikationsziele
• Sie können
– sich in neue hardware- und projektspezifische
Befehlssatzarchitekturen und Werkzeugketten einarbeiten,
– Algorithmen, Datenstrukturen und Programme in 80x86
Assembler und C lesen, entwerfen, implementieren und
debuggen,
– Projekte, die die Programmierung von Mikrocontrollern
beinhalten, planen, bewerten und durchführen.
TU Dresden, 14.10.2013
MRT1 (c) Urbas 2007-2013
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, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 3
Java, C, C++ oder Assembler?
• Java:
– Hardwareunabhängig / Denken in Objekten / „bequem“
– Aber: Speicherabdruck des Laufzeitsystems
– Zeitlich nicht deterministische Speicherverwaltung (GC)
• C / C++:
– C = portable Sprache, hardwarenah → einfache AT-Projekte
– C++ = C mit Objekten & deterministisches Verhalten &
generische Programmierung → komplexe AT-Projekte
• Assembler:
– Maschinennahe Sprache (für jede CPU-Familie 1..n)
– Ganz nahe an der Hardware
TU Dresden, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 4
Was muss ich für die hardwarenahe
Programmierung eines µControllers 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, 14.10.2013
MRT1 (c) Urbas 2007-2013
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, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 6
Organisation
• Vorlesung: Grundlagen (2 DS/Woche bis Anfang Dez)
– 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, 14.10.2013
MRT1 (c) Urbas 2007-2013
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, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 8
Zeiten und Termine
• Vorlesung 14.10.2013 bis 4.12.2009
–
–
–
–
Montag
5.DS 14.50 - 16.20 Uhr, BAR/SCHÖ
Mittwoch
5.DS 14.50 - 16.20 Uhr, BAR/SCHÖ
Sprechstunde: nach Vereinbarung, BAR/E24
E-Mail: [email protected]
• Einschreibung Praktikumstermine per WWW
– Gruppen á 4 Personen (bitte jetzt schon zusammenfinden)
– Einweisung voraussichtlich KW45 durch Dr. Schingnitz
WS08/09
Vorlesung
PR Simulator
PR Assembler
PR C/Grafik
TU Dresden, 14.10.2013
Okt
Nov
Dez
MRT1 (c) Urbas 2007-2013
Jan
Folie 9
Grobplanung Vorlesung
14.10.2013
Rechnerarchitekturen (Steuerwerke, v.Neumann)
16.10.2013
Befehlssatzarchitektur 80x86
21.10.2013
BMBF-Kongress
23.10.2013
Register, Speicheradressierung
28.10.2013
Felder, Strukturen, Bedingte Steuerung des Programmflusses
30.10.2013
Interrupts, Anbindung von Prozessperipherie
04.11.2013
Grundelemente der Programmiersprache C
06.11.2013
Namur Hauptsitzung
11.11.2013
ComVantage Review
13.11.2013
Felder, Strukturen
18.11.2013
Zeiger I
20.11.2013
Bußtag
25.11.2013
Zeiger II
27.11.2013
SPS/IPC/Drives
02.12.2013
Echtzeitverarbeitung: Scheduling
04.12.2013
Synchronisation
TU Dresden,Echtzeitverarbeitung:
14.10.2013
MRT1 (c) Urbas 2007-2013
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, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 11
Virtual Appliance für MRT 1 und 2
• Virtual Appliance für 80x86 Rechner
– Linux (ubuntu Oneiric Ocelot 11.10)
– Lediglich Installation einer VirtualBox
– Unabhängig von Betriebssystem und persönlichem Customizing
• Integrierte Entwicklungsumgebung Eclipse/CDT
– gnu Werkzeugkette mit NASM-Assembler für Linux
– dosbox mit MASM (für zweiten Praktikumsversuch)
– Eclipse/CDT IDE für
• Erweiterbar
– OpenOffice, Spiele, ...
TU Dresden, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 12
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 (in MRT1 werden diese mit Hilfe von
einfachen Adressierungsarten hardwarenah implementiert )
TU Dresden, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 13
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, 14.10.2013
MRT1 (c) Urbas 2007-2013
Folie 14
Herunterladen