98
Kommentar:
|
8406
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 4: | Zeile 4: |
Moodle Kurs: https://moodle.hs-augsburg.de/course/view.php?id=4116 | ============================= Embedded Systems II (WS20/21) ============================= .. contents:: Inhalt .. sectnum:: .. `Skript <http://hhoegl.informatik.hs-augsburg.de/es2/skript>`_ | `ESTOOL Dokumentation <http://hhoegl.informatik.hs-augsburg.de/es2/estool/estool.html>`_ | `Alte Klausuren <http://hhoegl.informatik.hs-augsburg.de/es2/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 <http://hhoegl.informatik.hs-augsburg.de/es2/gdb-tui-window/drawing.svg>`_) - 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" `<EmbeddedSystemsAnleitungen>`_ * 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 `<EmbeddedSystemsAnleitungen>`_, Abschnitt "RTLab-Remote") - Versuch/Aufgabe 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/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. 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 mit dem Dateinamen ``Aufgaben.rst``. Beim Versuch ``gpio-intr-cmsis`` muss man den User-Button B1 auf dem Nucleo Board drücken. Wenn man den Versuch auf dem RTlab-Remote Server macht, dann sieht man hier, wie die Ansteuerung des Nucleo-Boards mit dem ERC gemacht wurde: http://hhoegl.informatik.hs-augsburg.de/es2/stm32l4/rtlab-remote-nucleo-signals.svg Zum Nachschlagen ---------------- * Alle relevanten Handbücher/Manuals/Datenblätter sind hier: `<EmbeddedSystemsDocs>`_ * GDB Quickref `quickref.txt <http://hhoegl.informatik.hs-augsburg.de/sysprog/gdb_anleitung/quickref.txt>`_, `quickref.pdf <http://hhoegl.informatik.hs-augsburg.de/sysprog/gdb_anleitung/quickref.pdf>`_ * GNU Debugger User Interface `main.svg <http://hhoegl.informatik.hs-augsburg.de/es2/gdb-tui-window/main.svg>`_ | `main.pdf <http://hhoegl.informatik.hs-augsburg.de/es2/gdb-tui-window/main.pdf>`_ * GDB Anleitung/Übung https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/gdb-uebung (siehe Aufgaben.rst) * http://hhoegl.informatik.hs-augsburg.de/hhwiki/tmux * STM32 Exception Processing `stm32_exc_prog.svg <http://hhoegl.informatik.hs-augsburg.de/es2/exceptions/stm32_exc_proc/stm32_exc_proc.svg>`_ | `stm32_exc_prog.pdf <http://hhoegl.informatik.hs-augsburg.de/es2/exceptions/stm32_exc_proc/stm32_exc_proc.pdf>`_ * Hervorragender Artikel von I.C. Bertolotti zum Cortex-M Exception Handling (10 Seiten, nicht Pflicht, aber wer es genauer wissen mag, sollte ihn lesen) http://hhoegl.informatik.hs-augsburg.de/es2/exceptions/bertolotti/ |
Embedded Systems II (WS20/21)
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
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, ...)
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.
2 14.10., 14 Uhr
"RTLAB-Remote" EmbeddedSystemsAnleitungen
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).
oder hier: http://hhoegl.informatik.hs-augsburg.de/es2/gnu/DGCM3-2e-ch19.pdf
Heutige Vorfuehrung nachvollziehen und in Bericht aufnehmen (siehe EmbeddedSystemsAnleitungen, Abschnitt "RTLab-Remote")
Versuch/Aufgabe 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!
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.
4 28.10., 14 Uhr
Die zweite Aufgabe besteht aus drei Teilen:
https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/starter-cmsis
https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/syshandler-cmsis
https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/gpio-intr-cmsis
In jedem Teil ist ein Aufgabentext mit dem Dateinamen Aufgaben.rst.
Beim Versuch gpio-intr-cmsis muss man den User-Button B1 auf dem Nucleo Board drücken. Wenn man den Versuch auf dem RTlab-Remote Server macht, dann sieht man hier, wie die Ansteuerung des Nucleo-Boards mit dem ERC gemacht wurde:
http://hhoegl.informatik.hs-augsburg.de/es2/stm32l4/rtlab-remote-nucleo-signals.svg
5 Zum Nachschlagen
- Alle relevanten Handbücher/Manuals/Datenblätter sind hier: EmbeddedSystemsDocs
- GDB Quickref quickref.txt, quickref.pdf
- GNU Debugger User Interface main.svg | main.pdf
- GDB Anleitung/Übung https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/gdb-uebung (siehe Aufgaben.rst)
- http://hhoegl.informatik.hs-augsburg.de/hhwiki/tmux
- STM32 Exception Processing stm32_exc_prog.svg | stm32_exc_prog.pdf
- Hervorragender Artikel von I.C. Bertolotti zum Cortex-M Exception Handling (10 Seiten, nicht Pflicht, aber wer es genauer wissen mag, sollte ihn lesen) http://hhoegl.informatik.hs-augsburg.de/es2/exceptions/bertolotti/