1 Embedded Systems II (WS20/21)

Bitte melden Sie sich im Moodle Kurs an: https://moodle.hs-augsburg.de/course/view.php?id=4116


Jeden Mittwoch im Semester um 14 Uhr ist unser Zoom Meeting:

Zoom Meeting: https://hs-augsburg.zoom.us/j/98633783218?pwd=V1JncHJZT21aUmtwaDNoUHVnMEJyZz09
Meeting-ID: 986 3378 3218 | Kenncode: 925295

1.1 7.10., Vorbesprechung

7.10.2020, 14 Uhr

1.2 14.10., 14 Uhr

1.3 21.10., 14 Uhr

  • Ausführliche Besprechung des „starter“ Beispiels und der drei Programme von Versuch/Aufgabe 1. Siehe das Vorlesungs-Video es2-21-oct-20.mp4 unter http://hhoegl.informatik.hs-augsburg.de/video.

    Als Hausaufgabe ist die Aufgabe 1 bis 28.10 auf.

1.4 28.10., 14 Uhr

1.5 4.11., 14 Uhr

1.6 11.11., 14 Uhr

TODO: V2 heute zu Ende bringen und den Bericht updaten.

Die Aufgabe 3 beschäftigt sich mit der ST Micro „Cube“ Bibliothek an Hand der zwei Beispiele GPIO_IO_TOGGLE und GPIO_EXTI. Beide Verzeichnisse sind im Repository

https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/cube-demos

enthalten. Die Aufgaben finden Sie jeweils in der README.md.

Damit man diese Beispiele kompilieren kann, muss die Cube Bibliothek installiert sein. Auf dem RTLab-Remote Server ist das in /opt/stm32cubel4/.

Wichtig ist, dass Sie die Umgebungsvariable CUBE_HOME auf das Cube Installationsverzeichnis setzen. Nehmen Sie dazu auf dem RTLab-Remote Server in ~/.profile noch die Zeile

export CUBE_HOME=/opt/stm32cubel4

Danach müssen Sie die Datei neu einlesen mit source ~/.profile.

In der virtuellen Maschine (Xubuntu) finden Sie die Cube Bibliothek an der Stelle /opt/rtlab/share/stm32cubel4. Prüfen Sie auch hier den korrekten Wert von CUBE_HOME. Wie die Installation erfolgte, entnehmen Sie dem Text http://ti-wiki.informatik.hs-augsburg.de/doku.php?id=rt-labor_rtvm (nur mit VPN Verbindung).

1.7 18.11., 14 Uhr

Zur Aufzeichnung: http://hhoegl.informatik.hs-augsburg.de/video/

1.8 25.11., 14 Uhr

Motivation zur quasi-parallelen Programmierung

Aufgabe 4

Zur Aufzeichnung: http://hhoegl.informatik.hs-augsburg.de/video/

1.9 2.12., 14 Uhr

Erläuterungen zur den FreeRTOS Aufgaben.

Zur Aufzeichnung: http://hhoegl.informatik.hs-augsburg.de/video/

1.10 9.12, 14 Uhr

Umlenken der Ein- und Ausgabe auf den UART („retargeting“).

Aufgabe 5: https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/retarget

Der Aufgabentext ist im Repository enthalten. Es gibt ein paar Tipps zur Lösung.

Zur Aufzeichnung: http://hhoegl.informatik.hs-augsburg.de/video/

Abgespeicherte Zeichnungen: http://hhoegl.informatik.hs-augsburg.de/video/zoom-201209

Die Übersicht zur Cube Bibliothek benötigt man für die Teilaufgabe (a2). Damit wird es klarer, wie der UART bei der Cube Bibliothek initialisiert werden muss: http://hhoegl.informatik.hs-augsburg.de/es2/cube/cube_basics.pdf Ich empfehle auch, in das Beispiel cube-demos/PWR_ModesSelection zu schauen. Dort sieht man wie der UART Code funktioniert.

In den ersten 47 Seiten des UM1884 ist eine gute Übersicht wie die Cube-Bibliothek strukturiert ist, diese Seiten habe ich aus dem mehr als 2700 starken Text herausgezogen: http://hhoegl.informatik.hs-augsburg.de/es2/stm32l4/Manuals/UM1884-HAL-Doku-1-47.pdf

1.11 16.12., 14 Uhr

Vorlesung: Low-power Programmierung (leider nicht auf den Aufnahme-Knopf gedrückt)

Siehe Skript http://hhoegl.informatik.hs-augsburg.de/es2/skript/lowpower.html

Beispielprogramme:

Lit.:

Aufgabe 6:

  1. Schauen Sie sich den Quelltext für das Beispiel „PWR_ModesSelection“ an und stellen Sie in einer Tabelle zusammen, was in den einzelnen Stromsparbetriebsarten jeweils zum Stromsparen angewendet wird.

  2. Falls Sie ein Multimeter zu Hause haben, dann finden Sie heraus, welche Auflösung dessen kleinster Strommessbereich (Gleichstrom) hat. Sollten Sie auch noch ein Nucleo Board zu Hause haben, dann können Sie selber die Stromaufnahme des Boards über die beiden IDD Anschlüsse ermitteln.

  3. Bestimmen Sie die Stromstärken für die LED-Ein und LED-Aus Zustände aus dem Oszilloskop-Bild im Skript, Abschnitt 6.10 („Praktische Strommessung“).

  4. Welche Stromsparbetriebsarten kommen beim STM32L476 in Frage, wenn man einen Rauchmelder bauen möchte, der aus einer CR2032 Zelle (3,0V, 210mAh) gespeist werden soll und 10 bis 20 Jahre damit laufen soll?

  5. Quelltext von FreeRTOS_LowPower ansehen. Wie funktioniert es?

1.12 Zum Nachschlagen