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! :-)