8156
Kommentar:
|
8157
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 158: | Zeile 158: |
`<Loesungstipps_e2_a4>`_ | `<Loesungstipps_es2_a4>`_ |
Embedded Systems II (WS19/20)
Inhalt
Moodle-Kurs der Veranstaltung: https://moodle.hs-augsburg.de/course/view.php?id=2866
1 Termine
1.1 2. Oktober 2019
Hausaufgaben vom 2. Oktober:
Machen Sie sich bitte Notizen über alle durchgeführten Schritte, so dass Sie später nachschauen können, was Sie gemacht haben. Das ist eine gute Praxis in der täglichen Arbeit. Notieren Sie auch, wenn es zu Problemen kommt. Dann besprechen wir diese Fälle im Praktikum.
Die Virtuelle Maschine für die Arbeit mit Linux installieren. Die Anleitung dazu ist hier (Achtung, sie müssen von einem Rechner aus der Hochschul-Domäne zugreifen oder von zu Hause über VPN an die Hochschule gehen):
Tragen Sie ihren öffentlichen ssh Schlüssel in Ihre Gitlab-Einstellungen ein. Dadurch können Sie in Zukunft Gitlab Repositories mit ssh URL (ssh://git@r-n-d...) klonen, ohne die Eingabe eines User- Namen oder Passwortes.
Anleitung: https://docs.gitlab.com/ee/gitlab-basics/create-your-ssh-keys.html
Den "sphinxbericht" von Gitlab holen und nach HTML übersetzen und lesen.
https://r-n-d.informatik.hs-augsburg.de:8080/hubert.hoegl/sphinxbericht
Im HTML-Format finden Sie den Demobericht hier:
Das "starter" Beispiel holen und untersuchen, so wie in der Vorlesung gezeigt. Am kommenden Mittwoch (9.10.) bekommen Sie das Nucleo-L476 Board. Dann können Sie das "starter" Beispiel damit testen:
https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/starter
Das ESTOOL Programm installieren (das früherer Werkzeug "eside" brauchen wir nicht).
https://r-n-d.informatik.hs-augsburg.de:8080/hubert.hoegl/estool
Die Repositories für die Berichte werden nach der Team-Einteilung hier sein:
https://r-n-d.informatik.hs-augsburg.de:8080/es2/ws2019_20/
Die Repositories sind noch leer. Einen Sphinx-Bericht ohne Inhalt mit der richtigen Struktur für das Praktikum finden Sie hier:
http://hhoegl.informatik.hs-augsburg.de/es2/Initialer-Bericht.tar.gz
Dieses tar Archiv wird in das noch leere Repository entpackt:
cd repo tar zxvf ~/Initialer-Bericht.tar.gz rm ~/Initialer-Bericht.tar.gz
Sehen Sie sich an, was in dem Gerüst steckt. Den Inhalt des tar Archivs geben Sie mit tar ztf Initialer-Bericht.tar.gz aus.
1.2 9. Oktober 2019
Ausgabe der Boards. Besprechen von eventuellen Problemen bei der Vorbereitung des PC.
1.3 16. Oktober 2019
- Vorlesung (Speicheraufteilung des STM32).
Praktikum (V1)
https://r-n-d.informatik.hs-augsburg.de:8080/es2/v1
Der Aufgabentext ist in v1.rst und kann direkt in Gitlab angeklickt und gelesen werden.
1.4 23. Oktober 2019
- Vorlesung: Einfuehrung in den GDB
- http://hhoegl.informatik.hs-augsburg.de/sysprog/gdb_anleitung/quickref.txt
- http://hhoegl.informatik.hs-augsburg.de/sysprog/gdb_anleitung/quickref.pdf
- Praktikum (V1, zweiter Teil)
1.5 30. Oktober 2019
Es geht heute nicht wie erwartet um die Cube-Bibliothek, sondern um Exceptions und Interrupts. Die Übungsaufgaben sind direkt in den Code Repositories enthalten:
- http://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/syshandler-cmsis (V2a)
- http://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/gpio-intr-cmsis (V2b)
Lesestoff
- Diese Beispiele verwenden die "CMSIS" Abstraktion, näheres dazu findet man im Abschnitt 2.9 des Buches von Yiu: http://hhoegl.informatik.hs-augsburg.de/es2/nonfree/Yiu-Kapitel/
- Eine Liste aller Interrupt Vektoren ist hier (aus dem [RM]): http://hhoegl.informatik.hs-augsburg.de/es2/stm32l4/Manuals/RM-Vectors.pdf
- Skript http://hhoegl.informatik.hs-augsburg.de/es2/skript/stm32l4.html
- Zu Exceptions (= Faults + Interrupts) die Kap. im Yiu die Abschnitte 4.5, 7 und 8: http://hhoegl.informatik.hs-augsburg.de/es2/nonfree/Yiu-Kapitel/
- Bilder aus dem Artikel von I.C. Bertolotti, Cortex-M Exception Handling Exc-Prio | Exc-Ablauf
- CMSIS Referenz https://arm-software.github.io/CMSIS_5/Core/html/index.html
1.6 6. November 2019
- https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/cube-demos/tree/master/GPIO_IO_TOGGLE (V3a)
- https://r-n-d.informatik.hs-augsburg.de:8080/es2/es2-nucl476/cube-demos/tree/master/GPIO_EXTI (V3b)
Die Aufgaben sind wieder in den Repositories enthalten.
2 Tutorials
2.1 Debuggen mit dem GDB
Erstes Kapitel aus dem Buch The Art of Debugging (45 Seiten)
Peter J. Salzman's GDB tutorial: http://hhoegl.informatik.hs-augsburg.de/es2/gnu/gdb (die originale Seite www.dirac.org/linux/gdb scheint es nicht mehr zu geben)
RMS's GDB tutorial: http://www.unknownroad.com/rtfm/gdbtut ("RMS" sind die Initialen des Gruenders des GNU Projektes, Richard M. Stallman. Wer gern mehr ueber diese Person und das GNU Projekt erfahren moechte, dem empfehle ich das folgende freie Buch: https://www.oreilly.com/openbook/freedom/).
Beej's Quick Guide to GDB: http://beej.us/guide/bggdb
Offizielle GDB Dokumentation: https://www.gnu.org/software/gdb/documentation
2.2 Sprache C
Nick Parlante, Essential C (frei, 45 Seiten), http://cslibrary.stanford.edu/101/
2.3 Linux
Linux lernen
- https://www.selflinux.org/selflinux/
- LPIC Kurse (mit Angabe freier Literatur) http://hhoegl.informatik.hs-augsburg.de/hhwiki/LPIC
Tmux Tutorials
- http://hhoegl.informatik.hs-augsburg.de/es2/tmux/tmux-lj-3-2016.pdf
- https://danielmiessler.com/study/tmux
- Buch "The Tao of Tmux" https://leanpub.com/the-tao-of-tmux (frei zu lesen)
Vim Tutorials
- Auf der Linux Kommandozeile das Kommando vimtutor eingeben.
- Quick Reference http://hhoegl.informatik.hs-augsburg.de/pub/vim/vim_quick_reference_card.pdf
- Vim for C Programmers http://hhoegl.informatik.hs-augsburg.de/pub/vim/vim-for-c-programmers.pdf (siehe auch andere Sachen in diesem Ordner: http://hhoegl.informatik.hs-augsburg.de/pub/vim)
- Derek Wyatt's Vim Tutorial Videos http://derekwyatt.org/vim/tutorials/
- OpenVIM interactive tutorial http://www.openvim.com/tutorial.html
- Steve Oualline, Vim Book ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf
- Swaroop CH, A Byte of Vim, https://vim.swaroopch.com
- Jesse Goerz, Beginner's guide to Vi Improved (vim), http://newbiedoc.sourceforge.net/text_editing/vim.html.en
- http://vim-adventures.com
- https://vimgifs.com
Make
Embedded Programmierung mit GNU Werkzeugen
Git
- Freies Pro Git Buch https://git-scm.com/book/de/v2
Sphinx