Download - Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Transcript
Page 1: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Lukas Büchele Alfred OlschnöggerAtanas Dimitrov Sebastian QuandtSandra Mayer Bojan Zarkovic

Projektpräsentation

Page 2: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Projektpräsentation

• Aufgabenstellung / Ziel

• Architektur

• Prozessmanagement

• IPC

• MMU

• HAL

• FAT

• Scrum

Übersicht

Page 3: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Projektpräsentation

• Single-User Betriebssystem

• Präemptives Betriebssystem

• Multi-Prozess

• Single-Threaded

• Verwendungszweck

• Webserver

• Zielplattform

• AVR32-AP7000 (UC3)

Aufgabenstellung / Ziel

Page 4: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Projektpräsentation

• Webserver

• TCP/IP-Stack

• SD-Karte

• Remote command line zum Konfigurieren

Aufgabenstellung / Ziel

Page 5: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Architektur

Projektpräsentation

Page 6: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Die Prozessdatenstruktur

besteht im Wesentlichen aus dem PCB und zusätzlichen Informationen für Scheduling / Kommunikation

Prozessmanagement

Projektpräsentation

• Prozesswechsel– Round Robin– FCFS– SPN– Priority Scheduling

Page 7: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Zustandsdiagramm

Prozessmanagement

Projektpräsentation

Page 8: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Shared Memory• IPC mit Pipes• Monitors• Message Passing• Message Queue• Semaphoren

IPC

Projektpräsentation

Page 9: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Paging mit 64 KB Seiten• Page Table

– Einstufige Page Table• Einträge im TLBELO Format• Virt. Adresse als Index

– Mehrstufige Page Table– Inverted Page Table

• Virtueller Speicher begrenzt auf 64 MB• Adressumsetzung mit MMU

– Segmentation und Paging– TLB mit 64 Einträgen– Private Virtual Memory Mode

Memory Management

Projektpräsentation

Page 10: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Virtueller Speicher

Memory Management

Projektpräsentation

Page 11: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Translation Lookaside Buffer• Seitenersetzungsalgorithmen

– Zufällige Seitenersetzung– Not Recently Used

• Memory Manager– Frame Table– Referenzen auf alle Page Tables (nicht Verwendung des

PTBR)– Globale Page für SRAM in ersten TLB Eintrag schreiben

Memory Management

Projektpräsentation

Page 12: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• ELF-Parser

Interpretiert Elf und Programm Headers

• Prozess-Lader

Lädt abhängig von Informationen des Elf Parsers in den virtuellen Speicher bzw. setzt Prozessinformationen

Memory Management

Projektpräsentation

Page 13: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

PowerManager• Initialisiert und startet

Hardwarekomponenten• Bietet Soft-Reset an

SystemClock / Timer• SystemClock für

Prozesswechsel• Timer verfügbar (sleep / wait)

USART• Für Shell- und Debug-

Ausgaben

HAL

Projektpräsentation

LED• Statusanzeigen

SDRAM• Für DMA und virtuellen

Speicher für Prozesse

SDCard• Laden von Dateien/

Programmen (Shell)

Ethernet• Senden / Empfangen von

Paketen

Page 14: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Probleme• Fehler im Software Framework• Unterstützte maximale Taktung• SDRAM

• Größe/ Vorbelegung

• SDCard • Lese-/Schreibfehler• Dateigröße

• Netzwerk

HAL

Projektpräsentation

Lösungen

Register falsch ausgelesen

120MHz statt 150MHz Einheitenverwechslung

32MB da 256Mbit (Manual) Erste vier Bytes ignorieren

Delay zwischen Kommandos ermitteln

Reduktion der Dateigrößen

Page 15: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Zeit: 832

Anweisungen: 333

(Mittelwerte aus 200 Messungen)

Performance-Messung bei Prozesswechsel

Projektpräsentation

Page 16: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Erweiterungen

SDCard über DMA

Generische Device Treiber

Netzwerk (Pakete senden/ empfangen)

TCP/IP Stack integrieren/ implementieren

Weitere Ein- /Ausgabegeräte unterstützen (Keyboard, LCD, Sound,…)

HAL

Projektpräsentation

Page 17: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Fertiges Framework: „FAT File System Module“

http://elm-chan.org/fsw/ff/00index_e.html

Lizenz:

FAT

Projektpräsentation

The FatFs module is a free software opened for education, research and development. You can use, modify and/or redistribute it for personal, non-profit use or commercial products without any restriction under your responsibility. For further information, refer to the application note.

Page 18: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Vorteile– Taskboard– Jeder weiß, woran der andere arbeitet– Jeder weiß zu Beginn, was ungefähr getan werden muss– Tolle Tools für Umsetzung

• Nachteile– Wenn Team verteilt, dann schlecht durchzuführen– Zeitaufwändig– Besser, wenn man die ganze Woche zusammen arbeitet– Projekt zu kurz für Scrum (nur 3 Sprints)

Scrum

Projektpräsentation

Page 19: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Speicheradressierung• Beschränkte Debugmöglichkeiten• Sparsame Ressourcennutzung• Sinnvolle Modularisierung • Modulkommunikation über Register• Linkerskript und Elf-Aufbau• AVR Studio • AVR Dokumentation unvollständig und sehr kompakt

– z. B. ASID in TLBEHI bei Prozesswechsel

Lesson‘s Learned

Projektpräsentation

Page 20: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Vielen Dank

für eure Aufmerksamkeit!

Projektpräsentation