#format rst #language de ============================= Embedded Systems II (WS20/21) ============================= .. contents:: Inhalt .. sectnum:: .. `Skript `_ | `ESTOOL Dokumentation `_ | `Alte Klausuren `_ 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 Vorbesprechung -------------- 7.10.2020, 14 Uhr * 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, ...) https://r-n-d.informatik.hs-augsburg.de:8080/es2/ws2020_21/ - 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. 14.10., 14 Uhr -------------- * "RTLAB-Remote" ``_ * Beispiel "starter": https://r-n-d.informatik.hs-augsburg.de:8080/es2/v1 * Hausaufgaben - Im Buch von Yiu das Kapitel 19 lesen (Getting Started with the GNU Compiler Collection). https://learning.oreilly.com/library/view/the-definitive-guide/9780124080829/xhtml/CHP017.html#CHP017tit oder hier: http://hhoegl.informatik.hs-augsburg.de/es2/gnu/DGCM3-2e-ch19.pdf - Heutige Vorfuehrung nachvollziehen und in Bericht aufnehmen (siehe ``_, Abschnitt "RTLab-Remote") - Versuch 1: https://r-n-d.informatik.hs-augsburg.de:8080/es2/v1 Aufgabenteile 1.1 und 1.2 bearbeiten, auch in Bericht aufnehmen! Die Beispielprogramme darin (blinky, startupcode und serial) haben noch Zeit! 21.10., 14 Uhr -------------- * Ausführliche Besprechung des "starter" Beispiels und der drei Programme von Versuch 1. Siehe das Vorlesungs-Video ``es2-21-oct-20.mp4`` unter http://hhoegl.informatik.hs-augsburg.de/video. Als Hausaufgabe ist der Versuch 1 bis 28.10 auf. 28.10., 14 Uhr -------------- * Die zweite Aufgabe besteht aus drei Teilen: 1. https.//r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/starter-cmsis 2. https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/syshandler-cmsis 3. https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/gpio-intr-cmsis( In jedem Teil ist ein Aufgabentext ``Aufgaben.rst``. Zusammenfassungen ----------------- * GDB Quickref (`txt `_, `pdf `_) * GNU Debugger User Interface http://hhoegl.informatik.hs-augsburg.de/es2/gdb-tui-window/drawing.svg * http://hhoegl.informatik.hs-augsburg.de/hhwiki/tmux