#format rst #language de Embedded Systems II (WS23/24) ============================= .. contents:: Inhalt .. sectnum:: Wir sind immer am Mittwoch ab 14 Uhr im J4.06. Ab 15:40 wechseln wir dann zum Praktikum in den G2.16. Die Einteilung der Gruppen für das Praktikum folgt noch. Wir werden zwei Gruppen von Teams bilden (10, 11, 12, ... und 20, 21, 22, ...), im wöchentlichen Wechsel sind dann mal die 1x Teams im Praktikum dran, dann die 2x Teams. Den Moodle Kurs finden Sie hier: https://moodle.hs-augsburg.de/course/view.php?id=7439. Tragen Sie sich bitte ein, alle weiteren Anweisungen bekommen Sie dann per Moodle Ankündigungen. Für die Abgabe der Übungsaufgaben wird es Repositories auf Gitlab in folgendem Verzeichnis geben: https://gitlab.informatik.hs-augsburg.de/es2/ws23/. Die Repos der einzelnen Teams werden erst noch angelegt. Von ausserhalb der Hochschule ist eine VPN Verbindung nötig. Die Veranstaltung entwickelt sich von Jahr zu Jahr weiter, wer wissen will was wir früher gemacht haben klickt auf `frühere Veranstaltungen `_. News * Hier ist die neue Installationsanleitung (das "Starter" Beispiel für den STM32L476 gibt es nun auch für den STM32F446, siehe folgenden Punkt). https://hhoegl.informatik.hs-augsburg.de/es2/doc/Installation.html * Beispiele für STM32F446 https://gitlab.informatik.hs-augsburg.de/es2/es2-nucf446/starter https://gitlab.informatik.hs-augsburg.de/es2/es2-nucf446/gdb-uebung https://gitlab.informatik.hs-augsburg.de/es2/es2-nucf446/v1 * Dokumentation zum STM32F446 https://hhoegl.informatik.hs-augsburg.de/es2/stm32f4/ * `Skript `_ (vieles darin noch für STM32L476) * Kurzreferenzen zum GDB Quickref https://hhoegl.informatik.hs-augsburg.de/es2/gnu/gdb-quickref-es2.pdf TUI https://hhoegl.informatik.hs-augsburg.de/es2/gdb-tui-window/main.svg (`PDF `_) * Für den Versuch V2 (Exceptions) sind folgende Texte hilfreich: - Eine Seite Übersicht `svg. `_, `pdf. `_ - Artikel von I. C. Bertolotti https://hhoegl.informatik.hs-augsburg.de/es2/exceptions/bertolotti/ * Bücher zum Thema - Daniele Lacamera, Embedded Systems Architecture - Second Edition, 2nd ed., Packt 2023. https://learning.oreilly.com/library/view/embedded-systems-architecture/9781803239545 - Joseph Yiu, The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors, 3rd Edition, Newnes 2013. https://learning.oreilly.com/library/view/the-definitive-guide/9780124080829/ - Cem Ünsalan, Hüseyin Deniz Gürhan, Mehmet Erkin Yücel, Embedded System Design with ARM Cortex-M Microcontrollers. Applications with C, C++ and MicroPython, Springer 2022. https://link-springer-com.ezproxy.hs-augsburg.de/book/10.1007/978-3-030-88439-0 * Klausurvorbereitung (noch im Fluss) https://hhoegl.informatik.hs-augsburg.de/hhwiki/Es2Klausurvorbereitung * Diverse Texte https://hhoegl.informatik.hs-augsburg.de/hhwiki/EmbeddedSystemsDocs * Zur Motivation eines Echtzeit-Betriebssystems (RTOS) - https://gitlab.informatik.hs-augsburg.de/es2/es2-nucl476/taskswitch - https://gitlab.informatik.hs-augsburg.de/es2/es2-nucl476/shared-data-problem * Bachelorarbeit ACM-OS von F. Saufler, 2015 (Betriebssystem für den Cortex-M) https://hhoegl.informatik.hs-augsburg.de/es2/etc/ (CC-BY-NC-ND) * Themen für freie Beschäftigung https://hhoegl.informatik.hs-augsburg.de/hhwiki/EmbeddedSystemsThemen Terminübersicht --------------- :: 04.10.23 J4.06 entfaellt wg. Workshop Bay. Wald #1 18.10.23 J4.06 + Labor Teams 1x, GDB Übung #2 25.10.23 J4.06 + Labor Teams 2x, GDB Übung (1.11. Allerheiligen) #3 08.11.23 J4.06 + Labor Teams 1x, V1 #4 15.11.23 J4.06 + Labor Teams 2x, V1 #5 22.11.23 J4.06 + Labor Teams 1x, V2 #6 29.11.23 J4.06 + Labor Teams 2x, V2 #7 06.12.23 J4.06 + Labor Teams 1x #8 13.12.23 J4.06 + Labor Teams 2x #9 20.12.23 J4.06 + Labor Stichpunkte zu den Terminen --------------------------- **#1 - 11.10.** Einführung in die Veranstaltung (ein paar `Folien `_) / Vorstellen der Arbeitsumgebung (WSL2) / Installationsanleitung / Kommandozeile / GNU Toolchain / Make / GDB / "starter" Beispiel. Empfohlener Lesestoff: - Lacamera, Kap. 1 und 2 https://learning.oreilly.com/library/view/embedded-systems-architecture/9781803239545/B18730_01.xhtml - Yiu, Kap. 2 (Introduction to Embedded Software Development) https://learning.oreilly.com/library/view/the-definitive-guide/9780124080829/xhtml/CHP002.html **#2 - 18.10.** Einführung in das Debuggen mit GDB Praktikum für die 1x Teams: GDB Übung (https://gitlab.informatik.hs-augsburg.de/es2/es2-nucf446/gdb-uebung) **#3 - 27.10.** Einführung in den Versuch V1, bei dem es um den Prozessor-Startup und die serielle Schnittstelle geht (https://gitlab.informatik.hs-augsburg.de/es2/es2-nucf446/v1) Praktikum für die 2x Teams: GDB-Übung Weitere Literaturangaben: - https://hhoegl.informatik.hs-augsburg.de/dva/ti/ct.2021.24.136_137.Grundlagen-Mikrocontroller.pdf - Lacamera, Kap. 4 (The Boot-Up Procedure) https://learning.oreilly.com/library/view/embedded-systems-architecture/9781803239545/B18730_04.xhtml - https://hhoegl.informatik.hs-augsburg.de/es2/stm32f4/Yiu-WP-Cortex-M-Beginner-2016.pdf **#3 - 8.11.** Einführung in den Versuch V2, bei dem es hauptsächlich um Exceptions geht. https://gitlab.informatik.hs-augsburg.de/es2/es2-nucf446/v2 Template für die README.md Datei im Repo: ``_ **#4 - 15.11.** **#5 - 22.11.** **#6 - 29.11.** Hinweis auf *A bare metal programming guide* von Sergey Lyubka (Autor von https://mongoose-os.com, https://mongoose.ws, https://vcon.io, Fa. Cesanta in Irland). Das Repository enthält eine Einführung in die Bare-Metal Programmierung von ARM Mikrocontrollern mit Open-Source Werkzeugen. Der Text ist in den Sprachen Englisch, Türkisch und Chinesisch vorhanden. Es gibt viele Beispielprogramme. https://github.com/cpq/bare-metal-programming-guide