Organisation WS 2013/14 - Fakultät Elektrotechnik und ...

et.tu.dresden.de

Organisation WS 2013/14 - Fakultät Elektrotechnik und ...

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: leon.urbas@tu-dresden.de

• Einschreibung Praktikumstermine per WWW

– Gruppen á 4 Personen (bitte jetzt schon zusammenfinden)

– Einweisung voraussichtlich KW45 durch Dr. Schingnitz

WS08/09 Okt Nov Dez Jan

Vorlesung

PR Simulator

PR Assembler

PR C/Grafik

TU Dresden, 14.10.2013

MRT1 (c) Urbas 2007-2013 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

TU Dresden,

Echtzeitverarbeitung:

14.10.2013

Synchronisation

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

Weitere Magazine dieses Users
Ähnliche Magazine