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).
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 es2/skript (vieles darin noch für STM32L476)
Kurzreferenzen zum GDB
Quickref es2/gnu/gdb-quickref-es2.pdf
Für den Versuch V2 (Exceptions) sind folgende Texte hilfreich:
Artikel von I. C. Bertolotti 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): Es2Klausurvorbereitung
Diverse Texte: EmbeddedSystemsDocs
Zur Motivation eines Echtzeit-Betriebssystems (RTOS)
Bachelorarbeit ACM-OS von F. Saufler, 2015 (Betriebssystem für den Cortex-M) es2/acm-os (CC-BY-NC-ND).
Themen für freie Beschäftigung: 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: https://hhoegl.informatik.hs-augsburg.de/es2/README.md-template.txt
#4 - 15.11. Freie Projekte
#5 - 22.11. Freie Projekte
#6 - 29.11. Freie Projekte
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.