#format rst #language de 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: ``_. 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 .. contents:: Inhalt .. sectnum:: 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) 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": https://www.st.com/en/evaluation-tools/nucleo-l476rg.html - 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://r-n-d.informatik.hs-augsburg.de) - Öffentlichen ssh Schlüssel in Gitlab anlegen: http://hhoegl.informatik.hs-augsburg.de/hhwiki/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)? 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. 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 `_ - GNU Debugger Text User Interface `main.svg `_ | `main.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 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