Grundlagen der Programmierung II BMI Bakk.

 
WEITER LESEN
Grundlagen der Programmierung II BMI Bakk.
Grundlagen der Programmierung II
                                                   BMI Bakk.

                                                          Teil 1

                                                              Rainer Schubert
                                                 Institut für Biomedizinische
                                                                  Bildanalyse

                                                      Organisation
                                   • Inhalt: Mischung aus Vorlesung und praktischen
                                     Programmierübungen.
                                   • Programmierübungen weitgehend als Hausarbeit
                                   • Prüfung: Schriftlich
Grundlagen der Programmierung II

                                                                                      1
Grundlagen der Programmierung II BMI Bakk.
Inhalt
                                   • Einleitung, Motivation und Querbezüge
                                   • Übersicht: Programmiersprachen
                                      –   Entwicklung
                                      –   Einteilung
                                      –   Anwendungsbereiche
                                      –   Beispiele
                                   • Hardware-nahe Programmierung
                                      –   Prozessoren / Microprozessoren
Grundlagen der Programmierung II

                                      –   Bedeutung, Anwendungen
                                      –   Aufbau allgemein
                                      –   Aufbau PIC
                                      –   Programmierung von PICS: Assembler, C
                                      –   PIC-Assembler
                                   • Die PIC-Entwicklungsumgebung
                                      – PIC-Kit 2
                                      – Installation, Test
                                   • Hausübungen

                                     Rückblick: Beginn der Vorlesung…
Grundlagen der Programmierung II

                                                                                  2
Grundlagen der Programmierung II BMI Bakk.
Warum Assembler als Teil der Grundlagen der
                                              Programmierung
                                   • JAVA kann doch alles!?
                                   • Stimmt, aber:
                                       – Benötigt ein Minimum an Resourcen, z.B. einen „vollständigen“
                                         Rechner mit Prozessor, ausreichend Arbeitsspeicher etc. um
                                         Bibliotheken, Laufzeitumgebung und Ein- und Ausgabe
                                         unterzubringen bzw. zu realisieren.
                                       – Ist nicht pirmär für maximal schnelle und kleine Programme
Grundlagen der Programmierung II

                                         konzipiert.
                                       – Hat viele, mächtige Konzepte (OO, Vererbung, Exceptions,
                                         Dokumentierungstools, abstrakte Datentypen etc.) die sehr
                                         nützlich für die Entwicklung allgemeiner, größerer Projekte
                                         sind, für einfache, v.a. Hardware-nahe Probleme aber
                                         überflüssig und vielfach hinderlich sind.
                                   • Daher: Verschiedene Programmiersprachen haben
                                     durchaus ihre Existenzberechtigung.

                                             Programmiersprachen: Geschichte
                                   • (siehe auch: Stammbaum in Wikipedia)
                                   • Bis ca. 1950: Erste Techniken zum „Programmieren“ von
                                     mechanischen Geräten, z.B. Musterkodierung für Webstühle
                                   • 1950er Jahre: Sehr viele verschiedene Sprachen werden
                                     entwickelt, berühmteste davon ALGOL und Fortran – dabei auch
                                     Entwicklung der Prinzipien des Compilerbaus
                                   • 1960er Jahre: u.a. Basic, C und Algol60
                                   • 1970er Jahre: Pascal
Grundlagen der Programmierung II

                                   • 1980er Jahre: OO-Konzepte, Java, C++
                                   • 1990er Jahre: Weiterentwicklung OO-Sprachen, zusätzlich
                                     Skriptsprachen (durch Internet motiviert)
                                   • Aktuell: „Neben der mittlerweile etablierten objektorientierten Programmierung ist
                                      die Model Driven Architecture ein weiterer Ansatz zur Verbesserung der Software-
                                      Entwicklung, in der Programme aus syntaktisch und semantisch formal
                                      spezifizierten Modellen generiert werden. Diese Techniken markieren gleichzeitig
                                      den Übergang von einer eher handwerklichen, individuellen Kunst zu einem
                                      industriell organisierten Prozess.“ Zitat Wikipedia.

                                                                                                                          3
Grundlagen der Programmierung II BMI Bakk.
Grundlagen der Programmierung II                     Generationen-Einteilung

                                                                   Beispiele
                                   • Aus: www.roesler-ac.de, „Hello World“ in 299
                                     Programmiersprachen:

                                      – Assembler-Intel
                                          •   ; Hello World for Intel Assembler (MSDOS)
                                          •   mov ax,cs
                                          •   mov ds,ax
                                          •   mov ah,9
                                          •   mov dx, offset Hello
Grundlagen der Programmierung II

                                          •   int 21h
                                          •   xor ax,ax
                                          •   int 21h
                                          •   Hello:
                                          •    db "Hello World!",13,10,"$„

                                      – BASIC
                                          • 10 REM Hello World in BASIC
                                          • 20 PRINT "Hello World!„

                                                                                          4
Beispiele 2

                                        – C-ANSI
                                             •   /* Hello World in C, Ansi-style */
                                             •   #include 
                                             •   #include 
                                             •   int main(void)
                                             •   {
                                             •   puts("Hello World!");
Grundlagen der Programmierung II

                                             •    return EXIT_SUCCESS;

                                        – Java
                                             • // Hello World in Java
                                             • class HelloWorld {
                                             • static public void main( String args[] ) {
                                             •    System.out.println( "Hello World!" );
                                             • }
                                             • }

                                                 Programmiersprachen: Einteilung
                                   • Nach Anwendungsbereichen
                                        – Zitat aus Wikipedia (http://de.wikipedia.org/wiki/Programmiersprache)
                                   „Die überragende Bedeutung von Programmiersprachen für die Informatik drückt sich auch in
                                   der Vielfalt der Ausprägungen und der Breite der Anwendungen von Programmiersprachen aus.
                                     * Systemprogrammiersprachen, Assemblersprachen, C, Bliss usw. erlauben eine hardwarenahe
                                   Programmierung.
                                    * CNC-Programmiersprachen dienen der Erzeugung von Steuerungsinformationen für
Grundlagen der Programmierung II

                                   Werkzeugmaschinen.
                                     * Datenbanksprachen sind für den Einsatz in und die Abfrage von Datenbanken gedacht.
                                     * Skriptsprachen dienen zur einfachen Steuerung von Rechnern, wie bei der
                                   Stapelverarbeitung.
                                     * Sprachen mit visuellen Programmierumgebungen erleichtern die graphische Gestaltung von
                                   Benutzeroberflächen.
                                     * Esoterische Programmiersprachen sind experimentelle Sprachen mit teilweise interessanten
                                   Konzepten.“

                                                                                                                                  5
PICkit – Installation 1
                                   • Auspacken…
                                   • Paket enthält 2 CDs: „PICkit-Starter Kit“ und „MPLAB IDE“
                                   • Als erstes CD „PICkit-Starter Kit“ einlegen, Browser öffnet sich,
                                     diesen wieder schliessen und die CD mit dem Windows
                                     Explorer öffnen.
                                   • Das Verzeichnis Install/PICkit 2/ öffnen
                                   • Setup ausführen! Die auftauchenden Dialoge immer mit Next bzw.
Grundlagen der Programmierung II

                                     I agree beantworten bis die Installation startet und erfolgreich
                                     abgeschlossen ist
                                   • Als nächstes die CD „MPLAB IDE“ einlegen
                                   • Browser startet und zeigt foldendes Bild:

                                                       PICkit – Installation 2
Grundlagen der Programmierung II

                                   •   Hier die Option „Install MPLAB IDE“ anklicken
                                   •   GANZ WICHTIG: Als Installationspfad „C:\Program Files\Microchip
                                       einstellen (notfalls erzeugen)!
                                   •    eventuell auftauchende Warnungen und Fragen mit Ignore/Next/I agree
                                       etc. beantworten und die IDE installieren.
                                   •   Das dauert etwas – Zeit einen Kaffee zu holen… ☺

                                                                                                              6
PICkit – Installation 3
                                   • Gegen Ende der Installation erscheint folgender Dialog:
Grundlagen der Programmierung II

                                   • Diesen mit „Nein“ beantworten.
                                   • Die Frage, ob der Rechner sofort neu gestartet werden
                                     soll mit „Ja“ beantworten.

                                          PICkit: Anschliessen und Testen 1
                                   • Nach Neustart des Rechners die Prozessor-Platine an
                                     den Programmierer stecken (auf die Ausrichtung der
                                     Pfeile achten!):
Grundlagen der Programmierung II

                                   • Dann mit dem USB-Kabel den Programmierer an den
                                     Rechner anschliessen.
                                   • Der Programmierer sollte als PICkit-USB-Gerät erkannt
                                     werden und die Power-LED am Programmierer sollte
                                     leuchten!

                                                                                               7
PICkit: Anschliessen und Testen 2
                                   • Die PICkit-
                                     Programmiersoftware
                                     starten:
                                   • Die LEDs auf dem Board
                                                 PICkit 2 v2.50.lnk

                                     sollten kurz aufleuchten
                                     und…
                                   • … dann sollte es so
Grundlagen der Programmierung II

                                     aussehen:
                                   • Wenn Sie jetzt auf
                                     „Read“ klicken, wird der
                                     Inhalt von
                                     Programmspeicher und
                                     EEProm des PICs
                                     ausgelesen…

                                           PICkit: Anschliessen und Testen 3
                                   •   Nach dem Auslesen:
                                   •   Wichtig:
                                       – Der PIC-Typ
                                         (PIC16F690) sollte
                                         richtig erkannt werden!
                                       – Bis auf weiteres
                                         NIEMALS selbst einen
Grundlagen der Programmierung II

                                         Typ über das Menü
                                         Device-Family
                                         einstellen!!!
                                   •   Das Programm jetzt
                                       über File->Exit
                                       beenden

                                                                               8
PICkit: Anschliessen und Testen 4
                                   • Starten Sie die MPLAB Software:      MPLAB IDE v8.30.lnk

                                   • Diese Software werden wir in der Folge als
                                     Entwicklungsumgebung nutzen!
                                   •
Grundlagen der Programmierung II

                                           PICkit: Anschliessen und Testen 5
                                   • Als nächstes unter Programmer-
                                     >Select Programmer den PICkit
                                     2 auswählen (das muss nach
                                     jedem Neustart des Programms
                                     und für jedes Projekt eingestellt
                                     werden):

                                   • Danach passieren dann mehrere
Grundlagen der Programmierung II

                                     Dinge gleichzeitig:
                                       – Die LEDs auf dem Board blinken
                                       – Im Outputfenster erscheinen
                                         Meldungen
                                       – Wahrscheinlich wird ein
                                         Warning-Dialog erscheinen

                                                                                                9
Grundlagen der Programmierung II          PICkit: Anschliessen und Testen 6

                                   •   Die Warning-Box schliessen und die Ursache
                                       beheben…

                                          PICkit: Anschliessen und Testen 7
                                   • Über Configure->Select
                                     Device…
                                   • Den richtigen PIC-Typ 16F690
                                     einstellen:
Grundlagen der Programmierung II

                                                                                    10
PICkit: Anschliessen und Testen 8
                                   • Danach sollte das Output-Fenster folgende Meldungen
                                     zeigen:
Grundlagen der Programmierung II

                              • Jetzt über Programmer ->
                                Settings die Optionen nach
                                nebenstehendem
                                Screenshot einstellen:

                                                     Testen von MPLAB
                                    • Jetzt erneut die erste CD „PICkit Starter Kit“ einlegen,
                                      mit dem Windows-Explorer öffnen und unter Install-
                                      >Lessons das Setup für die LowPinCountLessons
                                      ausführen:
Grundlagen der Programmierung II

                                                                                                 11
Erste „Programmierung“
                                   • Starten Sie MPLAB und öffnen mit „Open Workspace“
                                     die Hello-World Übung (zu finden unter
                                     C:\PK2 Lessons\LPC Demo Board\01 Hello World)
                                   • Stellen Sie den Programmer auf PICkit 2 und machen
                                     anschliessend ein „Project->Build All“
                                   • Die restlichen „Lessons“ schauen wir uns jetzt
                                     gemeinsam an und sind Teil der Hausarbeit ☺
Grundlagen der Programmierung II

                                                           Hausarbeit 1
                                   • Machen Sie sich weiter vertraut mit der
                                     Entwicklungsumgebung, indem Sie folgende
                                     Dokumente auf der CD lesen und praktisch
                                     nachvollziehen („D“ durch das Symbol Ihres CD-
                                     Laufwerks ersetzen):
                                      – D:\Users Guides\PICkit 2 User Guide
                                      – D:\Users Guides\Low Pin Count User Guide
                                      – D:\PICkit 2 Getting Started\Starter Kit\SK Getting Started with
Grundlagen der Programmierung II

                                        PICkit 2 App.pdf
                                      – D:\PICkit 2 Getting Started\Starter Kit\SK Getting Started with
                                        MPLAB.pdf
                                   • Nächste Einheit: PIC-Architektur und Befehlssatz (wer
                                     Zeit und Lust hat, kann sich darauf vorbereiten und
                                     findet alles Unterlagen zum PIC16F690 auf der
                                     Microchip-HP (www.microchip.com)

                                                                                                          12
Sie können auch lesen