Toolchain: vom Quellcode zum ladbaren Binärabbild
|
|
- Daniel Maier
- vor 5 Jahren
- Abrufe
Transkript
1 U1 1. Übung U1 1. Übung Organisatorisches Arbeitsumgebung Toolchain: vom Quellcode zum ladbaren Binärabbild Arbeiten mit dem Debugger Aufgabe 0 U1.1
2 U1-1 Organisatorisches U1-1 Organisatorisches keine Vorlesung Grundlegende C-Kenntnisse aus der Vorlesung werden vorausgesetzt......oder müssen sich selbst angeeignet werden Übungsablauf wie im Sommersemester Besuch einer Tafelübung (Anwesenheitspflicht) Anmeldung im Waffel zur Abgabe von Aufgaben zwingend erforderlich Besuch von Rechnerübungen (2 Termine) nach Bedarf eigenständige Arbeit außerhalb der Übungen erforderlich! Erwerb von Bonuspunkten Bonuspunkte aus dem Sommersemester können nicht übernommen werden Neuerwerb von Bonuspunkten durch Bearbeitung der Übungsaufgaben Alle Aufgaben sind einzeln abzugeben U1.2
3 U1-1 Organisatorisches U1-1 Umsetzung von Evaluationsanmerkungen viele neue Boards... mehr Wert auf eigenständige (real-world nahe ;-)) Arbeit selbstständiges Nachschlagen im Datenblatt möglichst keine 1:1 übernehmbaren Codebeispiele in den Folien Bereitstellung einer Schnittstellen-Dokumentation (in späteren Aufgaben) größere Programme aus mehreren Modulen Makefiles bei Bedarf zwei Übungsleiter in den Rechnerübungen wenn bis 30 Minuten nach Übungsbeginn (hh:30 Uhr) keine Teilnehmer anwesend sind, können die Übungsleiter die Rechnerübung vorzeitig beenden U1.3
4 U1-2 Arbeitsumgebung U1-2 Arbeits umgebung 20 neue SPiC-Boards, entwickelt von Susanne Brunner umfangreichere Peripherie als auf den alten Boards ATMega32 Mikrokontroller (MCU) zugehörige Hardware-Debugger Entwicklung direkt auf den Boards Nutzung des Simulators entfällt Entwicklung ausschließlich unter Linux U1.4
5 U1-2 UNIX/Linux Benutzerumgebung U1-2 Arbeits umgebung Projektverzeichnisse zur Bearbeitung der Übungsaufgaben /proj/i4spic/login-name werden nach Anmeldung im Waffel innerhalb eines Tages erzeugt Wechseln des Arbeitsverzeichnisses dorthin (cd = change directory): cd /proj/i4spic/login-name Einrichten eines Verzeichnisses für Aufgabe 1: mkdir aufgabe1 Anzeigen der Dateien in einem Verzeichnis: aktuelles Verzeichnis anzeigen: ls oder ls -l Verzeichnis aufgabe1 anzeigen: ls -l aufgabe1 Aufgaben sollten ausschließlich im Projektverzeichnis bearbeitet werden Nur vom eigenen Benutzer lesbar Suchverzeichnis des Abgabeprogramms U1.5
6 U1-2 Kommandointerpreter (Shell) U1-2 Arbeits umgebung Kommandointerpreter (Shell) Programm, das Kommandos entgegennimmt und ausführt verschiedene Varianten, am häufigsten unter Linux: bash oder tcsh Sonderzeichen einige Zeichen haben unter UNIX besondere Bedeutung Funktionen: Korrektur von Tippfehlern Einwirkung auf den Ablauf von Programmen Übersicht: ( <CTRL> = <STRG> ) <BACKSPACE> <CTRL> - C <CTRL> - Z <CTRL> - D letztes Zeichen löschen (manchmal auch <DELETE>) Interrupt - Programm wird abgebrochen Stop - Programm wird gestoppt (Fortsetzen mit fg) End-of-File U1.6
7 U1-3 Toolchain: Vom Quellcode zum geflashten Binärabbild U1-3 Toolchain: Vom Quellcode zum geflashten Binärabbild (1) Erstellen des Programmquellcodes mit einem Texteditor (z.b. vim oder kate) das Programm besteht ggf. aus mehreren Modulen ( =.c-dateien ) und ggf. einer Schnittstellenbeschreibung/Header pro Modul ( =.h-dateien ) modulare Programmierung ist Gegenstand einer späteren Übung (2) Übersetzen der C-Module zu Objektdateien mit einem C-Compiler (GCC) jedes C-Modul wird zu einer Objektdatei ( =.o-datei ) kompiliert da wir Binärcode für den AVR erzeugen wollen, verwenden wir einen AVR- Crosscompiler (avr-gcc) avr-gcc -c -o modul2.o modul2.c (3) Linken/Binden der Objektdateien zu einem ladbaren ELF-Binärabbild (.elf-datei) mit GCC oder LD avr-gcc -o program.elf modul1.o modul2.o (4) Flashen des Binärabbilds auf den Mikrokontroller z.b. mit avarice oder avrdude U1.7
8 U1-3 Toolchain Überblick U1-3 Toolchain: Vom Quellcode zum geflashten Binärabbild modul1.c modul1.o modul2.c modul2.o Kompilieren Binden C-Quelltext AVR-Objektcode program.elf AVR-ELF Binärabbild Flashen U1.8
9 U1-3 Texteditoren U1-3 Toolchain: Vom Quellcode zum geflashten Binärabbild verschiedene Editoren unter UNIX verfügbar vim emacs für Newbs zu empfehlen: kate Starten durch Eingabe von kate in einer Shell oder über Auswahlmenü von KDE Abspeichern der Quelltexte in Dateien mit der Endung.c im Projektverzeichnis die zu entwickelnden Module und Dateinamen sind in der Aufgabenstellung vorgegeben U1.9
10 U1-3 Toolchain: Vom Quellcode zum geflashten Binärabbild U1-3 Kompilieren der C-Module C-Quellcode wird mit einem C-Compiler (z.b. GCC) zu Binärcode für die Zielarchitektur (hier: 8-bit AVR) übersetzt: avr-gcc Jede.c-Datei wird in eine Objektdatei übersetzt: Compileroption -c Referenzen auf externe Symbole werden hierbei noch nicht aufgelöst Weitere Compiler Flags -mmcu=atmega32: teilt dem Compiler den Typ der Ziel-CPU mit -ansi: wählt den C-Standard ISO C90 -Wall: aktiviert viele Warnungen, die auf evtl. Programmierfehler hinweisen -pedantic: aktiviert weitere Warnungen in Bezug auf ISO-C-Konformität -O0 bzw. -Os: Optimierungen deaktivieren bzw. nach Größe optimieren Debuggen mit -O0 -g, Testen (volatile richtig verwendet?) mit -Os Übersetzung eines C-Moduls modul.c dann zu modul.o mit Aufruf: avr-gcc -Os -c -mmcu=atmega32 -ansi -pedantic -Wall modul.c U1.10
11 U1-3 Toolchain: Vom Quellcode zum geflashten Binärabbild U1-3 Binden der Objektdateien Im Bindeschritt werden offene Symbolreferenzen aufgelöst Binden z.b. mit avr-gcc Beispiel: Programm aus den Modulen modul1.o und modul2.o mit avr-gcc (-o bestimmt den Namen der Zieldatei, hier program.elf): avr-gcc -mmcu=atmega32 -o program.elf modul1.o modul2.o GCC kann auch in einem Schritt kompilieren und binden: avr-gcc -mmcu=atmega o program.elf modul1.c modul2.c Vorteil: Übersetzer sieht komplettes Programm globale Optimierungen in aktuellen GCC Versionen: Compiler-Flags -combine -fwhole-program Nachteil: Alle Module müssen komplett übersetzt werden, auch wenn man nur ein Modul verändert hat Für kleine Programme ist diese Variante aber oft die bevorzugte Wahl In SPiC: your choice... U1.11
12 U1-3 Toolchain: Vom Quellcode zum geflashten Binärabbild U1-3 Flashen des ELF-Images Ablegen des Binärabbilds im Flash-ROM des Mikrokontrollers z.b. mit unserem Debugger und dem Programm avarice wir haben das entsprechende Kommando in einem Makefile abgelegt Beispiel: Flashen des Binärabbilds program.elf: make -f /proj/i4spic/pub/i4/debug.mk program.elf.flash Nach jedem Reset lädt der Bootloader des Mikrokontrollers die relevanten Sektionen in den RAM und startet die Ausführung U1.12
13 U1-4 Debugger U1-4 Debugger Der Debugger vereinfacht die Fehlersuche im Programm ähnlich wie der Debugger des Simulators im Sommersemester schrittweises Abarbeiten des Programms Beobachten der Werte von Variablen Haltepunkte (Breakpoints), auch abhängig von Bedingungen Die JTAG-Debugger erlauben das Debugging der Ausführung direkt auf dem Mikrokontroller Die Debugger/Boards können gegen Hinterlegung eines staatlichen Ausweisdokuments für die Arbeit im CIP-Pool ausgeliehen werden Abholung/Rückgabe bei M. Stilkerich (Büro 0.044, RRZE Erdgeschoss) die Debugger sind am gleichen Tag zurückzugeben U1.13
14 U1-4 Anschluss des Debuggers U1-4 Debugger Verbinden des Debuggers mit dem JTAG-Anschluss auf dem SPiCboard Board und Debugger an zwei USB-Ports des Rechners anschließen Achtung: der Debugger funktioniert nicht zuverlässig an den SunRays, daher "richtige" Rechner verwenden Das Programm avarice öffnet einen GDB-Stub und fungiert so als Mittler zwischen JTAG-Debugger und Software-Debugger (avr-gdb) GDB-Stub-Rechner und Debug-Rechner sind normalerweise identisch JTAG USB TCP/IP avarice avr-gdb SPiCboard JTAG ICE GDB-Stub GDB Debugger U1.14
15 U1-4 Verwendung des Debuggers U1-4 Debugger Flashen des Binärabbilds program.elf in den Mikrokontroller das Binärabbild sollte mit Debug Symbolen erzeugt werden: zusätzliches Compiler-Flag -g bei der Übersetzung verwenden Compiler-Optimierungen sollten deaktiviert werden: -O0 Starten des GDB-Stubs avarice make -f /proj/i4spic/pub/i4/debug.mk dbgstub Starten des Debuggers avr-gdb auf dem gleichen Rechner avr-gdb program.elf das hier verwendete Binärimage muss mit dem in den Mikrokontroller geflashten Abbild übereinstimmen! Verbinden des Debuggers mit dem GDB-Stub target remote localhost:4242 Das Programm ist gestoppt an der ersten Instruktion U1.15
16 U1-4 Wichtige GDB-Kommandos U1-4 Debugger Schrittweises Abarbeiten des Programms n: führt nächste Zeile C-Code aus, übergeht Funktionen s: wie n, steigt aber in Funktionen ab Setzen von Breakpoints (Haltepunkten) Anzahl durch die Hardware auf 3 beschränkt b [Dateiname:]Funktionsname [condition] b Dateiname:Zeilennr. [condition] Die Ausführung stoppt bei Erreichen der angegebenen Stelle wenn condition angeben (C-Ausdruck) nur dann, wenn Bedingung erfüllt ist Breakpoints anzeigen: info breakpoints Breakpoint löschen (Nr. des Breakpoints aus Anzeige): d BreakpointNr Fortsetzen der Programmausführung bis zu Haltepunkt: c U1.16
17 U1-4 Wichtige GDB-Kommandos U1-4 Debugger Watchpoints: Stop der Ausführung bei Zugriff auf eine bestimmte Variable watch expr: Stoppt, wenn sich Wert des C-Ausdrucks expr ändert rwatch expr: Stoppt, wenn expr gelesen wird awatch expr: Stoppt bei jedem Zugriff (kombiniert rwatch und watch) expr ist ein C-Ausdruck, im einfachsten Fall der Name einer Variable Achtung: für jedes Byte des Ausdrucks wird ein Hardware-Breakpoints verbraucht, watch auf einen int belegt also zwei Hardware-Breakpoints! Weitere im Reference-Sheet ( Doku-Bereich der Webseite) U1.17
18 U1-5 SPiCboard U1-5 SPiCboard LED Reihe (active low) LED 0 (Red 0, PD7) JTAG Anschluss Taster 1 (prellt, PD3) Taster 0 (entprellt, PD2) LED 1 (Yellow 0, PC0) LED 2 (Green 0, PC1) Stromversorgung LED 3 (Blue 0, PC6) LED 4 (Red 1, PC7) LED 5 (Yellow 1, PA7) LED 6 (Green 1, PA6) LED 7 (Blue 1, PA5) 7 Segment Anzeigen Einer (Connector PD1) Zehner (Connector PD0) Potentiometer (POTI) an ADC1 Fotowiderstand an ADC0 ISP Anschluss PB1 PB3 PB4 PB2 PB0 PB5 PB6 (active low) U1.18
19 U1-5 Hardware U1-5 SPiCboard acht Leuchtdioden Achtung: die LEDs werden durch low-pegel eingeschaltet zwei Geräte am A/D-Wandler Potentiometer: Regelbarer Spannungsteiler Fotowiderstand: von Helligkeit abhängiger Widerstand zwei Taster ein Taster ist entprellt, der andere muss durch Software entprellt werden der nicht-entprellte Taster darf nicht an einer Interruptleitung betrieben werden U1.19
20 U1-5 7-Segment-Anzeigen U1-5 SPiCboard zwei 7-Segment-Anzeigen bestehen aus 7 Balken, die ebenfalls durch low-pegel aktiviert werden für jedes darzustellende Zeichen muss man sich also überlegen, welche Balken leuchten sollen PB4 an diese Pins legt man einen low-pegel an Beispiel (Erinnerung: active low!): Ziffer 3 0b = 0x8a Der Wert 0x8a in Port B zeigt die Ziffer 3 an. teilen sich einen Port Umschaltung zwischen den Anzeigen mit Transistoren low-pegel an Transistorpin verbindet entsprechende Anzeige mit Port B schnelle Umschaltung zwischen den Anzeigen für Auge nicht wahrnehmbar quasi-paralleler Betrieb also z.b. durch einen regelmässigen Timerinterrupt PB3 PB1 PB2 PB0 PB5 PB6 U1.20
21 U1-6 Aufgabe 0 U1-6 Aufgabe 0 Einfacher Countdown (von 9 bis 0) es wird nur eine 7-Segemtanzeige verwendet (Umschaltung nicht nötig!) Ziele der Aufgabe: Kennenlernen der Arbeitsumgebung wie bekomme ich mein Programm auf den Mikrokontroller wie verwende ich einen Debugger, um den Programmablauf zu beobachten wie gebe ich meine Aufgabe ab Notwendiges bzw. anzueignendes Wissen Hardware Ports konfigurieren Umgang mit Hexadezimalzahlen siehe ATMega32 Datenblatt, S zu finden im Doku-Bereich auf der SPiC-Webseite alternativ: SPiC Übung U4 aus dem Sommersemester U1.21
U1-1 Organisatorisches. U1-1 Umsetzung von Evaluationsanmerkungen. U1-2 Arbeitsumgebung. Organisatorisches. keine Vorlesung.
U1 1. Übung U1 1. Übung U1-1 Organisatorisches U1-1 Organisatorisches Organisatorisches Arbeitsumgebung Toolchain: vom Quellcode zum ladbaren Binärabbild Arbeiten mit dem Debugger Aufgabe 0 U1.1 keine
Rechnerübung: Versuchen Sie (1) und (2) auf den Linux-Systemen
U1 Einführung in die Benutzerumgebung U1 Einführung in die Benutzerumgebung Tafelübungen: Windows-Umgebung Räume 01.155-N und 01.153 Integrierte Entwicklungsumgebung AVR-Studio Rechnerübungen Raum 01.155
U1-1 Login in die Windows-Umgebung. U1-2 Entwicklungsboards. U1-2 Entwicklungsboards. Tafelübungen: Windows-Umgebung
U1 Einführung in die Benutzerumgebung U1 Einführung in die Benutzerumgebung U1-1 Login in die Windows-Umgebung U1-1 Login in die Windows-Umgebung Tafelübungen: Windows-Umgebung Räume 01.155-N und 01.153
U1 1. Übung. Organisatorisches. Arbeitsumgebung. Aufgabe 1. SPiC - Ü U1.1
U1 1. Übung U1 1. Übung Organisatorisches Arbeitsumgebung Aufgabe 1 U1.1 U1-1 Login in die Windows-Umgebung U1-1 Login in die Windows-Umgebung Zur Nutzung der Windows-PCs zunächst mit dem Kommando /local/ciptools/bin/setsambapw
U1 Organisatorisches U1 Organisatorisches
U1 Organisatorisches U1 Organisatorisches Tafelübungen: Windows-Umgebung Räume 01.155-N und 01.153 Integrierte Entwicklungsumgebung AVR-Studio Rechnerübungen (SPiC) Raum 01.155 Verwendung eine Windows-VM
U1 Organisatorisches U1 Organisatorisches
U1 Organisatorisches U1 Organisatorisches Tafelübungen: Windows-Umgebung Räume 01.155-N und 01.153 Integrierte Entwicklungsumgebung AVR Studio Rechnerübungen (SPiC) Raum 01.155 Verwendung einer Windows-VM
U1-1 Login in die Windows-Umgebung. U1-2 Tafelübung. U1-3 Rechnerübungen (SPiC) Tafelübungen: Windows-Umgebung
U1 Organisatorisches U1 Organisatorisches U1-1 Login in die Windows-Umgebung U1-1 Login in die Windows-Umgebung Tafelübungen: Windows-Umgebung Räume 01.155-N und 01.153 Integrierte Entwicklungsumgebung
Rechnerübung: Versuchen Sie (1) und (2) auf den Linux-Systemen. Zur Nutzung der Windows-PCs zunächst mit dem Kommando
U1 Einführung in die Benutzerumgebung U1 Einführung in die Benutzerumgebung Tafelübungen: Windows-Umgebung Räume 01.155-N und 01.153 Integrierte Entwicklungsumgebung AVR-Studio Rechnerübungen Raum 01.155
U1-1 Login in die Windows-Umgebung. U1 1. Übung. U1-2 Organisatorisches. U1-2 Rechnerübungen. Zur Nutzung der Windows-PCs zunächst mit dem Kommando
U1 1. Übung U1 1. Übung U1-1 Login in die Windows-Umgebung U1-1 Login in die Windows-Umgebung Organisatorisches Arbeitsumgebung Aufgabe 1 Zur Nutzung der Windows-PCs zunächst mit dem Kommando /local/ciptools/bin/setsambapw
Systemnahe Programmierung in C Übungen Moritz Strübe Universität Erlangen-Nürnberg Informatik 4, 2010 U1.fm 2010-10-26 18.53
U1 1. Übung U1 1. Übung Organisatorisches Arbeitsumgebung Aufgabe 1 U1.1 U1-1 Login in die Windows-Umgebung U1-1 Login in die Windows-Umgebung Zur Nutzung der Windows-PCs zunächst mit dem Kommando /local/ciptools/bin/setsambapw
Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.
U4 4. Übung U4 4. Übung Besprechung Aufgabe 2 Makros Register I/O-Ports U4.1 U4-1 Makros U4-1 Makros Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler
Übungen zu Systemnahe Programmierung in C (SPiC)
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014 Inhalt Aufgabe4 Led Modul Wiederholung Konfiguration der Pins Hinweise zur Aufgabe
Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Wanja Hofer, Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2012
Übungen zu Systemnahe Programmierung in C (SPiC) Wanja Hofer, Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2012 Inhalt Organisatorisches Tafelübungen Reine Rechnerübungen Bonuspunkte
Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Organisatorisches: Tafelübungen. Prolog: Windows-Login
Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Wanja Hofer, Moritz Strübe, Rainer Müller () Sommersemester 2012 Organisatorisches Tafelübungen Reine Rechnerübungen Bonuspunkte Bei Problemen Hardware-Entwicklungsumgebung
Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Peter Wägemann, Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Sommersemester 2015
Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Sommersemester 2015 Inhalt Organisatorisches Entwicklungsumgebung Anleitung Abgabe
Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014 Inhalt Organisatorisches Tafelübungen Aufgaben Aufgaben Rechnerübungen Bei Problemen
Inhalt Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Organisatorisches: Tafelübungen. Prolog: Windows-Login
Inhalt Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller, Moritz Strübe () Wintersemester 2013/2014 Organisatorisches Tafelübungen Reine Rechnerübungen Übungsaufgaben Bonuspunkte
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Tafelübungen. Aufgaben
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller () Sommersemester 2014 Inhalt Organisatorisches Tafelübungen Aufgaben Aufgaben Rechnerübungen Bei Problemen Entwicklungsumgebung
U5-2 Register beim AVR-µC
U5 4. Übungsaufgabe U5 4. Übungsaufgabe U5-2 Register beim AVR-µC U5-2 Register beim AVR-mC Grundlegendes zur Übung mit dem AVR-µC 1 Überblick Register Beim AVR µc sind die Register: I/O Ports Interrupts
GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm
U4 4. Übungsaufgabe U4 4. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-µC Register I/O Ports Interrupts AVR-Umgebung U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit
Bedienungshinweise für XEmacs, make und GNU Debugger
Bedienungshinweise für XEmacs, make und GNU Debugger Labor Rechnerorganisation Berufsakademie Stuttgart Fachrichtung Nachrichtentechnik 2000 2007 Ingo Phleps Stand 1. Februar 2007 http://home.ntz.de/phleps/programming/werkzeuge.pdf
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC)
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller (Lehrstuhl Informatik 4) Wintersemester 2014/2015 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login
Überblick. Verlässliche Echtzeitsysteme. Anmeldung an Gerrit I. Gerrit. Übungen zur Vorlesung. Isabella Stilkerich, Florian Franzmann, Martin Hoffmann
Überblick Verlässliche Echtzeitsysteme Übungen zur Vorlesung 1 Versionsverwaltung mit Gerrit Isabella Stilkerich, Florian Franzmann, Martin Hoffmann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl
Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110)
U2 2. Übung U2 2. Übung U2-1 Überblick Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110) Aufgabe 2: qsort Debugger Übersetzen von Projekten mit "make" U2.1 B-2 Aufgabe 2: Sortieren
Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Peter Wägemann, Moritz Strübe (Lehrstuhl Informatik 4) Wintersemester 2014/2015
Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Moritz Strübe (Lehrstuhl Informatik 4) Wintersemester 2014/2015 Inhalt Organisatorisches Tafelübungen Rechnerübungen Bonuspunkte Bei Problemen
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Tafelübungen. Organisatorisches. Entwicklungsumgebung
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 1 Sommersemester 2017 Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2017) 2 26 Tafelübungen Tafelübungen Aufgaben
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Globale Variablen
Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Heiko Janker, Moritz Strübe, Rainer Müller () Wintersemester 24/25 volatile Verwendung Module Hinweise zur Aufgabe Übungen zu SPiC (WS 24/5)
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Tafelübungen. Organisatorisches. Entwicklungsumgebung
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 1 Inhalt Sommersemester 2016 Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 2 27 Inhalt Tafelübungen Tafelübungen
M I K R O P R O Z E SS O R P R A K T I K U M SS2018. Termin1. C-Programmierung für eingebettete Systeme
Mikroprozessorpraktikum Termin1 SS2018 Technische Fachgruppe C-Programmierung für eingebettete M I K R O P R O Z E SS O R P R A K T I K U M SS2018 Termin1 C-Programmierung für eingebettete Name, Vorname
Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Sebastian Maier (Lehrstuhl Informatik 4) Übung 1. Sommersemester 2016.
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 1 Sommersemester 2016 Inhalt Organisatorisches Entwicklungsumgebung Anleitung Aufgabe 1 & Hands-on Lehrstuhl
Rainer Müller (Lehrstuhl Informatik 4) Sommersemester Zur Bearbeitung der Übungen ist ein Windows-Login nötig Jetzt Passwort setzen:
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2017 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login nötig
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC)
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2017 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login nötig
Prolog: Windows-Login Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC)
Prolog: Windows-Login Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller () Sommersemester 2017 Zur Bearbeitung der Übungen ist ein Windows-Login nötig Jetzt Passwort setzen:
Aufgabe 3. Aufgabe 4.
3. AUFGABENBLOCK Aufgabe 3. Bubble-Sort für Rechtecke mit Operator Overloading Ändern Sie die Aufgabe 2 derart ab, dass Sie bisherige Methoden oder Algorithmen als überladene Operatoren implementieren:
Wer möchte, kann sein Programm auch auf echter Hardware testen
U4 3. Übungsaufgabe U4 3. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-μC Register I/O-Ports AVR-Umgebung Peripherie U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit
Rainer Müller (Lehrstuhl Informatik 4) Sommersemester Zur Bearbeitung der Übungen ist ein Windows-Login nötig Jetzt Passwort setzen:
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2016 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login nötig
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC)
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller (Lehrstuhl Informatik 4) Wintersemester 2016/2017 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Tafelübungen. Inhalt. Organisatorisches. Entwicklungsumgebung
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 1 Inhalt Organisatorisches Entwicklungsumgebung Anleitung Aufgabe 1 und Hands-on Wintersemester
Übungen zu Systemnahe Programmierung in C (SPiC)
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 1 Wintersemester 2015/2016 Inhalt Organisatorisches Entwicklungsumgebung Anleitung Aufgabe
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC)
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Wanja Hofer, Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2012 Inhalt Organisatorisches Tafelübungen Reine Rechnerübungen
Rainer Müller (Lehrstuhl Informatik 4) Sommersemester Zur Bearbeitung der Übungen ist ein Windows-Login nötig Jetzt Passwort setzen:
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2015 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login nötig
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Tafelübungen. Organisatorisches. Entwicklungsumgebung
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 1 Inhalt Organisatorisches Entwicklungsumgebung Anleitung Aufgabe 1 und Hands-on Wintersemester 2016/2017
Prüfungsvorleistung Datenstrukturen
Prüfungsvorleistung Datenstrukturen Allgemeine Hinweise Als Prüfungsvorleistung für die Klausur Datenstrukturen müssen Hausaufgaben gelöst werden. Jede Hausaufgabe wird mit einer bestimmten Anzahl an Punkten
Wiederholung: Zugriff auf AVR-Prozessor-Register. Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek
U4 4. Übung U4 4. Übung Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Hexadezimalzahlen Überblick: Modulare Softwareentwicklung Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek
Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Prolog: Windows-Login. Organisatorisches: Tafelübungen
Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller () Sommersemester 2013 Organisatorisches Tafelübungen Reine Rechnerübungen Bonuspunkte Bei Problemen Hardware-Entwicklungsumgebung
Jan Monsch. Donnerstag, 2. Mai 13
101 Jan Monsch Agenda Arduino Platform Digitale Ausgaben Analoge Eingänge Digitale Eingaben I2C Geräte (Digitales Thermometer) Arduino SW Download goo.gl/dj5l2 Was ist Arduino? Open Source Einplatinen-Computer
Rainer Müller, Moritz Strübe (Lehrstuhl Informatik 4) Sommersemester 2014
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller, Moritz Strübe (Lehrstuhl Informatik 4) Sommersemester 2014 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC)
Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Wanja Hofer, Moritz Strübe (Lehrstuhl Informatik 4) Wintersemester 2011/2012 Inhalt Organisatorisches Tafelübungen Rechnerübungen Bonuspunkte
Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2013
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2013 Inhalt Organisatorisches Tafelübungen Reine Rechnerübungen Bonuspunkte Bei Problemen
Prolog: Windows-Login Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC)
Prolog: Windows-Login Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller () Sommersemester 2015 Zur Bearbeitung der Übungen ist ein Windows-Login nötig Jetzt Passwort setzen:
BOOTLOADER für AVR-Entwicklungsmodule
BOOTLOADER für AVR-Entwicklungsmodule mit ATxmega128A1 mit ATxmega256A3 Verzeichnis 1. Einleitung 3 2. Einstellungen 4 2.1. Fuse Bits 4 2.2. AVROSP Programm 5 2.2.1. Erläuterung der BAT-Dateien 5 2.2.2.
Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Tafelübungen. Organisatorisches. Entwicklungsumgebung
Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Sommersemester 2015 Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2015) 2 26
0. Erste Schritte. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Tafelübung zu BSRvS1 0. Erste Schritte Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/
Tafelübung zu BSRvS 1 0. Erste Schritte
Tafelübung zu BSRvS 1 0. Erste Schritte Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os http://ess.cs.tu-dortmund.de/de/teaching/ss2009/bsrvs1/
Tafelübung zu BSRvS 1 0. Erste Schritte
Tafelübung zu BSRvS 1 0. Erste Schritte Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os http://ess.cs.tu-dortmund.de/de/teaching/ss2009/bsrvs1/
GdI 2 Systemnahe Programmierung in C
Übungen zu GdI 2 Systemnahe Programmierung in C Sommer 2007 U1 1. Übung U1 1. Übung U1-1 UNIX/Linux Benutzerumgebung Spezielle Projektverzeichnisse zur Bearbeitung der Übungsaufgaben /proj/i4gdi/login-name
Tafelübung zu BS 0. Erste Schritte
Tafelübung zu BS 0. Erste Schritte Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2011/bs/
Die AVR Mikrocontrollerfamilie
AKES - Ausgewählte Kapitel eingebetteter Systeme 10. Mai 2006 Übersicht über den Vortrag Was sind AVRs? 2/35 Anwendungsfelder Übersicht über den Vortrag Mikrocontroller 3/35 Kleiner Chip Viel integrierte
Entwicklungsumgebung
Entwicklungsumgebung Echtzeitsysteme 2 Vorlesung/Übung Fabian Scheler Lehrstuhl für Informatik IV Verteilte Systeme und Betriebssysteme Friedrich-Alexander Universität Erlangen-Nürnberg http://www4.cs.fau.de/~scheler
Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch
Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Die wichtigsten Unterlagen/Tools Für das Praktikum Unterlagen/Kenntnisse/Tools wichtig: Datenblatt des AT80USB1287 µc Schaltplan des im Praktikum verwendeten
C/C++ Debugging mit CDT unter Eclipse
C/C++ Debugging mit CDT unter Eclipse Bevor Sie mit dem Debuggen beginnen können, müssen Sie eine compilierbare Applikation erstellen, also eine Applikation, die keine Syntaxfehler mehr enthält. Sie können
Übungen zu Systemnahe Programmierung in C (SPiC)
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 4 Sommersemester 2016 Inhalt Module Schnittstellenbeschreibung Ablauf vom Quellcode zum laufenden Programm
U2-1 Register beim AVR- C. U2-2 I/O-Ports des AVR- C. 1 Überblick. 2 Makros für Register-Zugriffe. 1 Überblick
U2 4. Übung U2 4. Übung U2-1 Register beim AVR- C U2-1 Register beim AVR-mC Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Bitoperationen und Hexadezimalzahlen Überblick: Modulare
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Schnittstellenbeschreibung. Inhalt
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier () Übung 4 Schnittstellenbeschreibung Ablauf vom Quellcode zum laufenden Programm Initialisierung eines Moduls Active-high & Active-low
EZS Handwerkszeug. Übung zur Vorlesung EZS. Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann
EZS Handwerkszeug Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
Wiederholung: Zugriff auf AVR-Prozessor-Register
U3 3. Übung U3 3. Übung Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Zahlensysteme Überblick: Modulare Softwareentwicklung Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek U3.1
U1 3. Übung U1 3. Übung. Die Kommandos auf den folgenden Folien dienen der Veranschaulichung. Sind nicht direkt auf die Übungsaufgabe übertragbar
U1 3. Übung U1 3. Übung Besprechung Aufgabe 0 Make und Makefiles Aufgabe 2 U1-1 Hinweise Die Kommandos auf den folgenden Folien dienen der Veranschaulichung Sind nicht direkt auf die Übungsaufgabe übertragbar
Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.
Praktikum Btib Betriebssysteme t I Hochschule Für Angewandte Wissenschaften FH München Sommersemester 2010 thomas.kolarz@hm.edu Folie 1 Vorbereitung Booten Sie den Rechner unter Linux und melden Sie sich
Vorsemesterkurs Informatik
Vorsemesterkurs Informatik Einführung in die Bedienung von Unix-Systemen SoSe 2013 Stand der Folien: 3. April 2013 Übersicht 1 Unix, Linux, Shells 2 Shell-Kommandos 3 Dateien und Verzeichnisse Vorkurs
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Inhalt Interrupts Allgemein AVR Interrupt-Handler Synchronisation volatile Sperren von Interrupts
Einführung in die Programmierung WS 2014/15. Übungsblatt 0: Einführung
Ludwig-Maximilians-Universität München München, 7.10.2014 Department,,Institut für Informatik PD. Dr. Peer Kröger Dr. Andreas Züfle, Daniel Kaltenthaler, Klaus Schmid Einführung in die Programmierung WS
Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 1. Wintersemester 2015/2016
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 1 Wintersemester 2015/2016 Inhalt Organisatorisches Entwicklungsumgebung Anleitung Aufgabe
Mikrocontrollertechnik. F5 Erstes Programm. AVR Studio 4
In diesem Kapitel wird erklärt wie man möglichst schnell mit dem Programm Studio 4 von Atmel und einem ISP Programmer einen ATmega Controller programmiert. Es ist kein umfassendes Tutorial zum Programm
µversion 2 Einführung
µversion 2 Einführung V1.0 F. Wolf Graz, September 2002 Inhaltsverzeichnis 1 Keil Mikroprozessor-Entwicklungsumgebung 1 2 Menübeschreibung 1 2.1 Hauptmenü 2 2.2 Compilermenü 2 2.3 Debugermenü 2 3 Projekt
Grundlagen der Informatik Vorlesungsskript
Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1
Wiederholung: Zugriff auf AVR-Prozessor-Register. Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek
U3 3. Übung U3 3. Übung Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Zahlensysteme Überblick: Modulare Softwareentwicklung Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek U3.1
U3-1 Register beim AVR-μC. U3 3. Übung. U3-2 I/O-Ports des AVR-μC. 1 Überblick. 2 Makros für Register-Zugriffe. 1 Überblick
U3 3. Übung U3 3. Übung U3-1 Register beim AVR-μC U3-1 Register beim AVR-mC Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Zahlensysteme Überblick: Modulare Softwareentwicklung
pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd
ls Listet Dateien und Verzeichnisse auf ls (Listet die Dateien und Verzeichnisse in Spalten auf) ls -l (Listet die Datei und Verzeichnisse als ausführliche Liste auf) ls *.sh (Listet nur Datei auf, die
Rechnerarchitektur, Einführung in die Laborübungen
G. Kemnitz Institut für Informatik, TU Clausthal (RA-LabEinf.pdf) 20. Dezember 2017 1/18 Rechnerarchitektur, Einführung in die Laborübungen G. Kemnitz Institut für Informatik, TU Clausthal (RA-LabEinf.pdf)
Lernziele Dateiverwaltung Bearbeiten von Textdateien Sichere Anmeldung per SSH-Schlüssel. Linux für Anfänger
Einführung in die Nutzung der Linux-Kommandozeile Matthias P. Walther Freifunk Münsterland Förderverein freie Infrastruktur e. V. 05.07.2017 Inhaltsverzeichnis 1 Lernziele 2 Dateiverwaltung 3 Bearbeiten
Übungsblatt 1. (Stapel- bzw. Batchbetrieb)
Übungsblatt 1 Die Übungsblätter enthalten theoretische und praktische Übungen. Für die Bearbeitung der praktischen Übungen benötigen Sie eine UNIX-Shell. Weit verbreite ist die Bash [1]. Das Apple Mac
Übungen zu Systemprogrammierung 1 (SP1)
Übungen zu Systemprogrammierung 1 (SP1) B1 Debugging Jens Schedel, Christoph Erhardt, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme 03-B1_handout Friedrich-Alexander-Universität
Anhang III: Arbeiten am CIP Pool in C++
Anhang III: Arbeiten am CIP Pool in C++ A3 1 Der CIP Pool Im Rahmen der Übungen zur Vorlesung Algorithmen und Programmiertechniken bieten wir Ihnen die Möglichkeit, Übungsaufgaben, bei denen programmiert
Programmieren in Haskell Debugging
Programmieren in Haskell Debugging Peter Steffen Universität Bielefeld Technische Fakultät 30.01.2009 1 Programmieren in Haskell Debugger Definition laut Wikipedia: Ein Debugger (von engl. bug im Sinne
Rechnerarchitektur, Einführung in die Laborübungen
Rechnerarchitektur, Einführung in die Laborübungen G. Kemnitz 24. November 2016 Inbetriebnahme der Mikrorechnerbaudruppe 1. Anschluss 5V-Netzteil 2. Anschluss Programmer 3. Einschalter 4. Eingabeschalter
Grundlagen der Programmierung
Übung 1: Unix Werkzeuge Robert Sombrutzki sombrutz@informatik.hu-berlin.de Unix Werkzeuge Warum? Diese Frage sollten Sie sich immer mal wieder stellen! Denkbare Antworten Weil Sie diese Werkzeuge immer
Vorwort Lichteffekte mit Arduino_NEU.indd :00:47
Vorwort 5 Das Lernpaket»Lichteffekte mit Arduino«wurde genauso wie die Arduino Plattform für Künstler, Designer und Bastler entwickelt. Es richtet sich ganz besonders an alle, die möglichst schnell erste
Vorkurs Informatik WiSe 16/17
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,