Seminar / Training
Die Schulung führt schrittweise von einer vorhandenen Referenzplattform zu einer eigenen TF-A-Plattformportierung. Im Zentrum stehen Verzeichnisstruktur, Build-Integration, frühe Initialisierung, Konsolentreiber, Speicherlayout, Image-Laden, Topologie, PSCI-Grundfunktionen und der erste reproduzierbare Boot. Jeder Portierungsschritt wird unmittelbar gebaut, ausgeführt und anhand definierter Prüfpunkte abgesichert.
Inhaltsübersicht
- Portierungsauftrag und Referenzwahl
- Plattformverzeichnis und Build-Anbindung
- Frühe Initialisierung und Konsole
- Speicherlayout und Imagebereiche
- BL2-Plattformfunktionen und Image-Laden
- BL31-Plattformsetup
- Topologie und Sekundärkerne
- PSCI-Grundintegration
- Erster vollständiger Boot und Dokumentation
Lernziele
- Eine neue Plattformstruktur aus einer geeigneten Referenz ableiten und sauber in das Build-System integrieren.
- Frühe Initialisierung, Konsole, Speicherlayout und Image-Ladevorgang implementieren.
- Prozessortopologie und grundlegende PSCI-Plattformoperationen bereitstellen.
- BL2 und BL31 bis zur kontrollierten Übergabe an BL33 in Betrieb nehmen.
- Den Portierungsstand mit Logs, Tests und einer nachvollziehbaren Plattformdokumentation absichern.
Seminarinhalte
1. Portierungsauftrag und Referenzwahl
- Schritt 1: SoC-, Board- und Produktanforderungen werden getrennt erfasst.
- Schritt 2: Eine Referenzplattform wird nach Architekturähnlichkeit statt nach oberflächlicher Verwandtschaft ausgewählt.
- Schritt 3: Ein minimaler erster Meilenstein mit klarer Bootgrenze wird festgelegt.
Praxis: Für eine Zielplattform wird ein Portierungssteckbrief mit Referenz und Meilensteinen erstellt.
2. Plattformverzeichnis und Build-Anbindung
- Schritt 1: Plattform-, Board- und Treiberdateien werden in einer wartbaren Struktur angelegt.
- Schritt 2: Makefile-Fragmente, Include-Pfade und Build-Optionen werden ergänzt.
- Schritt 3: Ein leerer Plattformbuild wird reproduzierbar erzeugt und archiviert.
Praxis: Eine neue Plattformkennung wird angelegt und mit zwei Buildvarianten kompiliert.
3. Frühe Initialisierung und Konsole
- Schritt 1: Resetzustand, Stack, Takt und minimale Pin-Konfiguration werden überprüft.
- Schritt 2: Eine frühe serielle Konsole wird mit korrekter Basisadresse und Taktquelle initialisiert.
- Schritt 3: Jede Bootstufe erhält eindeutige, zeitlich geordnete Prüfausgaben.
Praxis: Der erste BL2- oder BL31-Konsolentext wird auf der Zielplattform ausgegeben.
4. Speicherlayout und Imagebereiche
- Schritt 1: ROM, SRAM, DRAM, Gerätebereiche und reservierte sichere Regionen werden inventarisiert.
- Schritt 2: Linker-, Laufzeit- und Ladeadressen werden auf Überlappungen geprüft.
- Schritt 3: Stack-, Heap- und temporäre Ladepuffer erhalten belastbare Größen und Grenzen.
Praxis: Ein Plattform-Speicherplan wird erstellt und durch Build- sowie Laufzeitprüfungen validiert.
5. BL2-Plattformfunktionen und Image-Laden
- Schritt 1: Bootmedium und elementare I/O-Schicht werden initialisiert.
- Schritt 2: Image-Policies ordnen Image-IDs den korrekten Quellen und Ladebereichen zu.
- Schritt 3: Fehlende, zu große oder beschädigte Images erzeugen eindeutige Fehlerpfade.
Praxis: BL31 und BL33 werden aus einer vorbereiteten Bootquelle geladen und verifiziert übergeben.
6. BL31-Plattformsetup
- Schritt 1: Frühe und architekturelle Initialisierung werden von der späten Plattforminitialisierung getrennt.
- Schritt 2: GIC, Timer und notwendige Systemregister werden in der richtigen Reihenfolge eingerichtet.
- Schritt 3: Entry-Point-Informationen für nachfolgende Images werden vollständig und konsistent erzeugt.
Praxis: BL31 erreicht den Runtime-Service-Setup und dokumentiert alle Übergabeparameter.
7. Topologie und Sekundärkerne
- Schritt 1: Vorhandene Kerne und Cluster werden in einer Plattformtopologie beschrieben.
- Schritt 2: Mailbox-, Holding-Pen- oder Power-Controller-Mechanismen werden für Sekundärkerne vorbereitet.
- Schritt 3: Ungültige MPIDR-Werte und nicht vorhandene Kerne werden zuverlässig abgewiesen.
Praxis: Ein Sekundärkern wird gestartet und sein Eintritt in die vorgesehene Softwarestufe nachgewiesen.
8. PSCI-Grundintegration
- Schritt 1: CPU_ON, CPU_OFF und SYSTEM_RESET werden mit Plattformoperationen verbunden.
- Schritt 2: Zustandsübergänge und Rückgabewerte werden gegen die tatsächliche Hardware geprüft.
- Schritt 3: Fehler in Power-Controller oder Mailbox werden in definierte PSCI-Ergebnisse übersetzt.
Praxis: Grundlegende PSCI-Aufrufe werden aus einer Test-Payload ausgelöst und protokolliert.
9. Erster vollständiger Boot und Dokumentation
- Schritt 1: Alle Stufen werden mit einer festen Buildkonfiguration zu einem reproduzierbaren Image zusammengeführt.
- Schritt 2: Cold Boot und mehrere Wiederholungen werden mit identischen Prüfpunkten ausgeführt.
- Schritt 3: Offene Punkte, Plattformverträge und nächste Ausbaustufen werden versionsbezogen dokumentiert.
Praxis: Die neue Plattform startet bis BL33; Build, Logs und Prüfergebnisse werden als Baseline gesichert.
Zielgruppe
Firmware- und BSP-Entwickler, SoC-Integratoren sowie Embedded-Linux-Teams, die eine neue Arm-Plattform mit TF-A in Betrieb nehmen.
Voraussetzungen
Gute C- und Linux-Kenntnisse, AArch64-Grundlagen, Erfahrung mit Cross-Compilation und grundlegendes Verständnis von Bootloadern, Speicherplänen und Hardwaredatenblättern.
Praxisumgebung
Linux-Arbeitsplatz mit TF-A-Quellbaum, AArch64-Toolchain, Binutils, Debugger sowie QEMU, FVP oder einer vorbereiteten Entwicklungsplattform.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Firmware- und BSP-Entwickler, SoC-Integratoren sowie Embedded-Linux-Teams, die eine neue Arm-Plattform mit TF-A in Betrieb nehmen. |
| Voraussetzungen: | Gute C- und Linux-Kenntnisse, AArch64-Grundlagen, Erfahrung mit Cross-Compilation und grundlegendes Verständnis von Bootloadern, Speicherplänen und Hardwaredatenblättern. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Quellcodeanalyse, Demonstrationen, praktische Übungen am System und kontrollierte Fehlerfälle |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
