Echtzeitsysteme: Portierung von FreeRTOS auf RISC5 (WS 22/23)

In diesem Kurs wollen wir in einem gemeinsamen Projekt das offene Realzeit-Betriebssystem FreeRTOS auf den noch nicht unterstuetzten Prozessor RISC5 von Niklaus Wirth (bitte nicht verwechseln mit dem bekannteren RISC-V) portieren. Dieser Prozessor ist als Softcore-CPU fuer das Terasic-Board DE2-115 implementiert, zusammen mit einer Reihe von Peripheriegeraeten. Ein Simulator ist ebenfalls vorhanden. Der Prozessor wurde von Wirth speziell fuer sein Oberon-System entworfen, stellt aber hinsichtlich seines Instruktionssatzes einen allgemein verwendbaren RISC-Prozessor dar. Es existiert eine Toolchain fuer Oberon, aber leider keine fuer C. Das muessen wir aendern, denn FreeRTOS ist in C geschrieben.

Die wesentlichen Komponenten, die wir definieren, entwerfen und bauen muessen, sind meinem augenblicklichen Kenntnisstand nach:
- RISC5-spezifische Teile von FreeRTOS (die eigentliche Portierung)
- C-Toolchain (Compiler-Backend, Assembler, Linker, Loader)
- C-Library (das "Board Support Package", nicht die C- Standard-Bibliothek!)
- Demo-Anwendung
- Pruefen und ggf. Ueberarbeiten des Interruptsystems von RISC5
Insbesondere die C-Toolchain ist ein "dicker Brocken". Ich beabsichtige, in der Zeit bis zum Start des Wintersemesters den groessten Teil davon bereit zu stellen, denn eine funktionierende Toolchain ist Voraussetzung fuer die eigentliche Portierung des RTOS. Nachtrag: erledigt! :-)

Hier ein paar relevante Links:
FreeRTOS
Manual des DE2-115 Boards
RISC5-C-toolchain (hier wird aktuell gearbeitet)

Beachten Sie bitte:

Dieses Kursangebot richtet sich an besonders leistungsstarke Studentinnen und Studenten. Auch der Dozent des Kurses kennt die Details der zu erledigenden Arbeiten noch nicht - lassen Sie uns gemeinsam entdecken, wie das geht, und anhand einer kleinen Realzeit-Anwendung demonstrieren, dass wir die Aufgabe gemeistert haben!

Kommunikationsmoeglichkeiten

Es gibt einen Kanal auf IRC (Internet Relay Chat) fuer unseren Kurs:
Network: Quakenet
Channel: #risc5-freertos
Nennen Sie im Kanal meinen Nicknamen, dann blinkt es bei mir und wir koennen uns schriftlich unterhalten, oder uns fuer Pilos verabreden.

Der Pilos-Raum "Porting FreeRTOS" steht fuer Sie jederzeit zur Verfuegung und kann ueber diese Adresse erreicht werden.

Es gibt auch ein GitLab-Projekt fuer unseren Kurs. Nach dem Start des Kurses trage ich Sie gerne mit allen Rechten ein.

Notizen

Manuskript 1. Stunde

Gute Nachricht: Der Kurs findet statt! :-)