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