Embedded Systems II (WS20/21)
Inhalt
Bitte melden Sie sich im Moodle Kurs an: https://moodle.hs-augsburg.de/course/view.php?id=4116
Am Mittwoch 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 Vorbesprechung
Ziele
- Mikrocontroller in C programmieren
- Wie läuft ein C Programm auf unterster Ebene ab? (Zusammenhänge klar machen)
- Elementares Debuggen eines C Programms mit GDB (Link)
- Verwendung eines Logikanalysators (Saleae Logic https://www.saleae.com)
- Exceptions und Interrupts
- Programmieren mit Bibliotheken (CMSIS und Cube)
- Umlenken der Ein-/Ausgabe
- Quasi-parallele Programmierung mit RTOS (FreeRTOS)
- Low-power Programmierung
Skript (leider nicht vollständig) http://hhoegl.informatik.hs-augsburg.de/es2/skript
Arbeitsumgebung
- Linux, Kommandozeile, freie Werkzeuge
- Virtuelle Maschine http://ti-wiki.informatik.hs-augsburg.de/doku.php?id=rt-labor_rtvm
- estool - Hilfsprogramm zum Flashen, Debuggen, ... https://r-n-d.informatik.hs-augsburg.de:8080/hubert.hoegl/estool
Experimentierboard "Nucleo STM32L476" https://www.st.com/en/evaluation-tools/nucleo-l476rg.html
- ARM Cortex M4
- Bild: http://hhoegl.informatik.hs-augsburg.de/es2/img/NUCLEO-L476RG.webp
- Preis nur ca. 12 Euro
"Board Server" (wg. Covid-19), vier Nucleo Boards hängen mit allen Schnittstellen an einem Server an der Hochschule. Einloggen per ssh, Board reservieren - arbeiten - freigeben. Man kann einige Pins lesen, setzen, sowie mit einem Logikanalysator betrachten (Saleae Logic). Die Bedienung erfolgt über das "estool".
http://hhoegl.informatik.hs-augsburg.de/es2/img/Aufbau-im-Kaefig.jpg
Nucleo Board und ESP8266 (ERC - Embedded Remote Controller) http://hhoegl.informatik.hs-augsburg.de/es2/img/Nucleo-und-ESP.jpeg
Praktikum
Teamarbeit
6 Versuche (auch im gitlab, z.B. https://r-n-d.informatik.hs-augsburg.de:8080/es2/v1)
Alle zwei Wochen ein Versuch. Vorbereitung und Nachbereitung nötig.
Berichte mit Sphinx schreiben. Abgabe mit Code in Gitlab.
Sphinx Vorlage: https://r-n-d.informatik.hs-augsburg.de:8080/es2/ws2020_21/team_demo
Wegen Covid-19 können wir nicht wie gewohnt im Labor G2.16 arbeiten. Maximal 7 Personen plus 2 Betreuer.
Hoffnung: Manche Experimente aus der Ferne mit dem Board-Server machen. Möglich wäre auch, dass nur ein Team-Mitglied im Labor ist, und die anderen über Video teilnehmen.
Gitlab Repositories
Ausarbeitung jedes Teams (Bericht, Bilder, Videos, Code, ...)
Issues
Beispielprogramm, z.B. "starter"
https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/starter
Lesestoff
- 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/
Hausaufgabe bis 14.10.
- Rechner/Notebook für Linux startklar machen. Z.B. obige virtuelle Maschine installieren.
- Einarbeiten in Sphinx
- 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 "team_demo" für Ihr Team anpassen und in das Team Repository aufnehmen.