1 Embedded Systems II (WS21/22)¶
Mittwoch ab 14 Uhr im M1.02. Ab 15:40 wechseln wir dann zum Praktikum in den G2.16. Die Einteilung der Gruppen für das Praktikum folgt noch.
Moodle Kurs: https://moodle.hs-augsburg.de/enrol/index.php?id=5236
Repositories auf Gitlab für die Abgabe: https://r-n-d.informatik.hs-augsburg.de:8080/es2/ws21
Skript: https://hhoegl.informatik.hs-augsburg.de/es2/skript/index.html
Wir werden im aktuellen Semester wieder in etwa so vorgehen wie im Wintersemester 20/21: EmbeddedSystems2021. Allerdings ist die Veranstaltung nun wieder an der Hochschule.
Sphinx Anleitung: https://www.hs-augsburg.de/homes/hhoegl/sphinxbericht/
Sphinx Gerüst für Praktikumsbericht: https://r-n-d.informatik.hs-augsburg.de:8080/es2/ws21/geruest
Zusammenstellung diverser Dokumente: http://hhoegl.informatik.hs-augsburg.de/hhwiki/EmbeddedSystemsDocs
Anleitungen https://hhoegl.informatik.hs-augsburg.de/hhwiki/EmbeddedSystemsFAQ
1.1 Termine in der Übersicht¶
Es ist immer ein Block ab 14:00 im M1.02, danach ab 15:40 die angegebenen Teams im G2.16. Wir werden insgesamt 5 Praktikumstermine je Team haben.
1 13.10.2021
Vorbespechung im M1.02
2 20.10.2021
Praktikum T1, T2, T4 (Versuch 1)
3 27.10.2021
Praktikum T3, T5, T6, T7 (Versuch 1)
4 03.11.2021
Praktikum T1, T2, T4 (Versuch 2)
5 10.11.2021
Praktikum T3, T5, T6, T7 (Versuch 2)
6 17.11.2021
Praktikum T1, T2, T4 (Versuch 3)
7 24.11.2021
Praktikum T3, T5, T6, T7 (Versuch 3)
8 01.12.2021
Praktikum T1, T2, T4 (Versuch 4)
9 08.12.2021
Praktikum T3, T5, T6, T7 (Versuch 4)
10 15.12.2021
Praktikum T1, T2, T4 (Versuch 5)
11 22.12.2021
Praktikum T3, T5, T6, T7 (Versuch 5)
1.2 13.10.2021¶
Man kann entweder die virtuelle Maschine nehmen oder die nötigen Werkzeuge von Hand installieren.
Virtuelle Maschine …
http://ti-wiki.informatik.hs-augsburg.de/doku.php?id=rt-labor_rtvm (aus dem Intranet der Hochschule bzw. über VPN)
Siehe unter https://hhoegl.informatik.hs-augsburg.de/hhwiki/EmbeddedSystemsFAQ den Abschnitt „Test der virtuellen Maschine“.
… oder manuelle Installation auf Linux
https://r-n-d.informatik.hs-augsburg.de:8080/es2/doc/-/blob/main/Installation.md
Hausaufgabe bis 20.10.
Board vom Sekretariat der Informatik abholen. Es ist ein „Nucleo STM32L476“:
Rechner/Notebook mit Linux startklar machen für die Veranstaltung, z.B. obige virtuelle Maschine installieren. Das in der heutigen Veranstaltung gezeigte „starter“ Beispiel sollte bei allen funktionieren.
https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/starter
Einarbeiten in Sphinx (https://www.sphinx-doc.org/en/master)
Einarbeiten in Gitlab (https://gitlab.informatik.hs-augsburg.de)
Öffentlichen ssh Schlüssel in Gitlab anlegen: https://tha.de/~hhoegl/home/GitSpicker#git-im-www-gitlab
Sphinx Demobericht klonen, kompilieren nach HTML, lesen https://r-n-d.informatik.hs-augsburg.de:8080/hubert.hoegl/sphinxbericht http://hhoegl.informatik.hs-augsburg.de/dva/sphinxbericht
Die Sphinx Vorlage „geruest“ für Ihr Team anpassen und in das Team Repository aufnehmen.
https://r-n-d.informatik.hs-augsburg.de:8080/es2/ws21/geruest
Die mit Sphinx erzeugten HTML Seiten auf das RZ WWW Home eines Team-Mitglieds übertragen.
Offene Fragen:
Könnte man die Aufgaben auch auf dem „Nucleo F446RE“ laufen lassen, das die E-Techniker beim ES1 Kurs (Mikrocomputertechnik) verwenden? Wir werden das herausbekommen.
Funktionieren die nötigen Werkzeuge auch im „Windows Subsystem for Linux“ (WSL)?
1.3 20.10.2021¶
Das Starter-Beispiel läuft auch auf dem STM32F446RE-Nucleo Board. Dazu mussten aber einige Anpassungen im Quelltext gemacht werden. Der Sourcecode für dieses Board ist hier:
https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl446/starter
Wichtig ist ausserdem, dass Sie das estool ab der Version 0.27 (Update vom 18.10.21) verwenden. Nur ab dieser Version kennt das estool den Boardnamen „stm32f446re-nucleo“.
Da ich bisher nur dieses Beispiel für den F446RE habe, muss das Praktikum doch ziemlich sicher auf dem Nucleo L476 gemacht werden.
1.4 27.10.2021¶
Beim nächsten Versuch V2 brauchen wir den GNU Debugger GDB. Es gibt eine GDB Anleitung/Übung unter https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/gdb-uebung, siehe darin die Datei Aufgaben.rst.
GDB Quickref quickref.txt, quickref.pdf
Ausserdem werden wir den „Tags“ Mechanismus zum Navigieren im Quelltextbaum verwenden. Wie das mit Vim geht zeige ich in der Veranstaltung. Ein Vim Quickref mit den wichtigsten Kommandos ist hier:
http://hhoegl.informatik.hs-augsburg.de/pub/vim/vim-quickref/vim-quickref.pdf
1.5 Praktikumsversuche¶
Für alle Aufgaben die mit Exceptions zu tun haben, ist diese Übersicht hilfreich:
SVG https://hhoegl.informatik.hs-augsburg.de/es2/exceptions/stm32_exc_proc/stm32_exc_proc.svg
PDF https://hhoegl.informatik.hs-augsburg.de/es2/exceptions/stm32_exc_proc/stm32_exc_proc.pdf
Die Dokumente, auf die in den Aufgabentexten verwiesen wird, findet man nochmal übersichtlich zusammengestellt unter http://hhoegl.informatik.hs-augsburg.de/hhwiki/EmbeddedSystemsDocs
- 1. Versuch (V1)
Der erste Versuch ist hier hier: https://r-n-d.informatik.hs-augsburg.de:8080/es2/v1
- 2. Versuch (V2)
CMSIS und Interrupts https://r-n-d.informatik.hs-augsburg.de:8080/es2/v2
- 3. Versuch (V3)
ST Micro „Cube“ Bibliothek https://r-n-d.informatik.hs-augsburg.de:8080/es2/v3
- 4. Versuch (V4)
Echtzeitbetriebssystem FreeRTOS https://r-n-d.informatik.hs-augsburg.de:8080/es2/v4
- 5. Versuch (V5)
Low-Power Programmierung https://r-n-d.informatik.hs-augsburg.de:8080/es2/v5