Sommerkurs 2020: Portierung von Project Oberon auf ECO32

Gegenstand und Ziel

Dieser Kurs ist für sehr gute Bachelor- und Masterstudenten gedacht, die in den Gebieten Compiler-Back-End, Toolchain und Betriebssysteme eigenständig (und doch im Team) forschend lernen wollen. Wir beabsichtigen Niklaus Wirth's "Project Oberon" auf unseren ECO32 zu portieren. Dazu werden wir voraussichtlich in drei Gruppen zu je zwei Personen Teilaufgaben bearbeiten, die dann zum Gesamtergebnis des Kurses integriert werden: ein auf dem ECO32 lauffähiges Oberon-System.

Organisation

Wir treffen uns immer montags um 8:00 Uhr (Start am 27.04.) im BigBlueButton-Raum Porting Oberon um gemeinsam das Vorgehen, eventuelle Probleme und den Fortschritt zu besprechen. Der Raum bleibt für Spontanbesprechungen der Teilnehmer jederzeit offen. Bitte mit THM-Account anmelden und nach Möglichkeit ein Headset benutzen.

Modulbeschreibungen

Aus formalen Gründen gibt es getrennte Modulbeschreibungen für Studierende in den Bachelor- bzw. Masterstudiengängen. In Realität werden sich die Gruppen nach Interessensgebieten zusammenfinden.

Hier sind die beiden Modulbeschreibungen:
Sommerkurs 2020 - Bachelor
Sommerkurs 2020 - Master

Arbeitsprogramm

Hier ist eine erste Aufstellung, was alles zu tun ist.

Alle zusammen:

Einarbeitung in "Project Oberon"
Sprache und System studieren
Ausführung mit RISC5-Simulator

Gruppe Compiler-Back-End:

ABI-Konventionen für RISC5 erkunden und dokumentieren
ABI-Konventionen für ECO32 definieren
Back-End des Oberon-Compilers für RISC5 studieren
Back-End des Oberon-Compilers für ECO32 implementieren

Gruppe Toolchain:

Object-File-Format für RISC5 erkunden und dokumentieren
Object-File-Format für ECO32 definieren
Linker/Loader für RISC5 studieren
Linker/Loader für ECO32 implementieren

Gruppe Device-Treiber:

Device-Treiber für RISC5 studieren
Devices für ECO32 studieren
Device-Treiber für ECO32 implementieren

Alle zusammen:

Teilsysteme integrieren
Bootstrap implementieren
Ausführung mit ECO32-Simulator
Ggf. Ausführung mit FPGA-Board

Links zu den Quellen

Project-Oberon-Seite von N.Wirth
Homepage von "Project Oberon"
THM-Oberon