Embedded Systems II (WS23/24)
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
Dokumentation zum STM32F446
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)
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
1 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
2 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: https://hhoegl.informatik.hs-augsburg.de/es2/README.md-template.txt
#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.