Kursbeschreibung
In diesem zweitägigen Kurs sammeln Sie praktische Erfahrungen zur Erstellung und benutzerdefinierten Anpassung eines Embedded Linux® Systems für dessen Zynq® Plattform.
Themen sind unter anderem:
- Erzeugen eines Referenzdesigns in Vivado und SDK
- Softwareanatomie eines Zynq® Systems
- Zynq Build System
- Erstellen eines benutzerdefinierten Linux-Image für Zynq
- Integrieren eines User-Space Gerätetreibers in Simulink
Tag 1 von 2
Erzeugen eines Referenzdesigns in Vivado und SDK
Ziel: Erzeugung eines Vivado® Blockdiagramms und SDK Projekts für die Programmable Logic (PL) und das Processing System (PS).
- Erzeugen eines Vivado Blockdiagramms für die PL
- Exportieren der Hardwarekomponente zu SDK und Erzeugen eines Board Support Packages
- Erzeugen einer Softwareapplikation für ARM
- Automatisierung des Build-Prozesses durch die Verwendung von Tcl-Skripten
Softwareanatomy eines Zynq Systems
Ziel: Verstehen verschiedener Softwarekomponenten eines Linux Systems wie beispielsweise First Stage Bootloader (FSBL), U-Boot, Kernel und User-Space.
- Überblick zu Embedded Linux
- Verstehen unterschiedlicher Komponenten eines Boot-Image
Zynq Build System
Ziel: Verstehen verschiedener Softwarekomponenten zur Erstellung eines System-Image und eines Automatisierungsprozesses.
- Nachvollziehen eines System-Boots
- Generierung verschiedener Binärdateien, inklusive .elf, .bit, und Open-Source-Build mit Buildroot
- Verstehen des Speichergerätlayouts
- Benutzen eines MathWorks Build-Systems zur vereinfachten Anpassung von Bitstream/FSBL, Devicetree und Kernel Konfiguration
Tag 2 von 2
Zynq Build System (Fortsetzung)
Ziel: Erzeugung eines benutzerdefinierten Linux-Images inklusive Gerätetreibern für verschiedene, angeschlossene PL und PS Peripherie.
- Aktualisieren des Devicetrees zum Hinzufügen neuer Verknüpfungen
- Modifizieren des Kernels um Gerätetreiber zu aktivieren
- Erzeugen von boot.bin und Generieren eines angepassten SD-Karten Images
Integrieren eines User-Space Gerätetreibers in Simulink
Ziel: Integration von Gerätetreiber-C-Code für Peripherie in Simulink zum Kommunizieren mit dem angepassten Linux-Image.
- Überblick zur generierten C-Code-Hauptfunktion (main), Scheduler Timing und POSIX Threads
- Erzeugen eines benutzerdefinierten System-Objekts™
- Anwenden von coder.ceval und System-Objekten für die C-Code-Integration
- Integrieren der Gerätetreiber in das angepasste Linux-Image von Simulink aus
- Erzeugen einer Stand-Alone-Aplikation als Teil des Boot-Image