Seminar / Training
Die Schulung ordnet Trusted Firmware-A in die Arm-Startarchitektur ein und macht den vollständigen Weg vom Reset bis zur Übergabe an die nicht sichere Laufzeitumgebung nachvollziehbar. Im Mittelpunkt stehen die Rollen der einzelnen Boot-Images, die Sicherheitszustände, die Exception Levels und die Übergabedaten zwischen den Stufen. Praktische Analysen verbinden Quellcode, Build-Artefakte und Konsolenausgaben zu einem belastbaren Gesamtbild.
Inhaltsübersicht
- Arm-Ausführungsmodell und Vertrauensgrenzen
- Quellbaum und Rollen der Boot-Images
- Cold Boot vom Reset bis zur Nutzlast
- Warm Boot, sekundäre Prozessoren und Wiederanlauf
- Firmware-Übergaben und Speicherlayout
- Alternative Startvarianten und Integrationsmuster
- Systematische Boot-Analyse
Lernziele
- Sicherheitszustände, Exception Levels und Verantwortungsgrenzen von TF-A fachlich korrekt einordnen.
- BL1, BL2, BL31, BL32 und BL33 einschließlich optionaler Startvarianten unterscheiden.
- Cold-Boot-, Warm-Boot- und Reset-Pfade anhand von Quellcode und Laufzeitprotokollen verfolgen.
- Übergabeinformationen, Speicherbereiche und Firmware Image Packages systematisch analysieren.
- Architekturentscheidungen für eine konkrete Plattform dokumentieren und begründen.
Seminarinhalte
1. Arm-Ausführungsmodell und Vertrauensgrenzen
- Schritt 1: Security States, Exception Levels und die Aufgaben von EL3 werden in einer gemeinsamen Systemskizze angeordnet.
- Schritt 2: Secure, Non-secure, Root und Realm werden nach Verfügbarkeit der Zielarchitektur voneinander abgegrenzt.
- Schritt 3: Übergänge zwischen den Welten werden mit SMC-Aufrufen, Kontextwechseln und Interrupt-Routing verknüpft.
Praxis: Eine vorgegebene Plattformgrafik wird um Ausführungszustände, Firmware-Komponenten und Vertrauensgrenzen ergänzt.
2. Quellbaum und Rollen der Boot-Images
- Schritt 1: Die Verzeichnisse für gemeinsame Bibliotheken, Plattformcode, Treiber, Dienste und Werkzeuge werden lokalisiert.
- Schritt 2: BL1, BL2 und BL31 werden nach Startpunkt, Lebensdauer, Speicherort und Verantwortung verglichen.
- Schritt 3: BL32 und BL33 werden als optionale beziehungsweise nachgelagerte Nutzlasten in die Startkette eingeordnet.
Praxis: Aus einer vorhandenen Build-Ausgabe wird für jedes Image eine kurze technische Steckkarte erstellt.
3. Cold Boot vom Reset bis zur Nutzlast
- Schritt 1: Der Reset-Einstieg, die Auswahl des primären Prozessors und die frühe Plattforminitialisierung werden verfolgt.
- Schritt 2: Image-Laden, Authentisierung, Konfigurationsübergabe und Speicherbelegung werden schrittweise analysiert.
- Schritt 3: Der Eintritt in BL31 und die abschließende Übergabe an BL32 oder BL33 werden anhand der Entry-Point-Daten geprüft.
Praxis: Ein Startprotokoll wird markiert und jeder relevanten Meldung eine Boot-Stufe und Funktion zugeordnet.
4. Warm Boot, sekundäre Prozessoren und Wiederanlauf
- Schritt 1: Cold- und Warm-Boot-Erkennung werden gegenübergestellt.
- Schritt 2: Haltezustände sekundärer Prozessoren sowie deren Freigabe durch Power-Management-Aufrufe werden untersucht.
- Schritt 3: Reset-Vektor, Cache-Zustand, Kohärenz und gespeicherte Plattformdaten werden als Fehlerquellen bewertet.
Praxis: Mehrere Wiederanlaufszenarien werden ausgeführt und anhand definierter Prüfpunkte verglichen.
5. Firmware-Übergaben und Speicherlayout
- Schritt 1: Entry-Point-Informationen, Konfigurationsblöcke und Device Trees werden als Übergabeverträge beschrieben.
- Schritt 2: Die Lage von Code, Daten, Stacks, Heap und reservierten Bereichen wird aus Map-Dateien abgeleitet.
- Schritt 3: Fehler durch Überlappungen, falsche Attribute und unvollständige Übergaben werden diagnostiziert.
Praxis: Ein fehlerhaftes Speicherlayout wird korrigiert und mit Linker-Map sowie Laufzeitprüfung verifiziert.
6. Alternative Startvarianten und Integrationsmuster
- Schritt 1: Reset zu BL31, alternative Trusted-Boot-Firmware und vorab geladene Nutzlasten werden verglichen.
- Schritt 2: Geeignete Muster für SoC-ROM, vorgeschaltete Bootloader und fest eingebettete Plattformen werden ausgewählt.
- Schritt 3: Auswirkungen auf Sicherheit, Wartung und Fehleranalyse werden in einer Architekturentscheidung festgehalten.
Praxis: Für ein Beispielszenario wird ein vollständiger Startpfad mit Verantwortlichkeiten und Abnahmekriterien entworfen.
7. Systematische Boot-Analyse
- Schritt 1: Build-Konfiguration, Image-Inhalt und Laufzeitprotokoll werden in eine gemeinsame Analysefolge gebracht.
- Schritt 2: Ein Haltepunkt wird zunächst zeitlich, dann nach Boot-Stufe und schließlich nach Plattformfunktion eingegrenzt.
- Schritt 3: Die gefundene Ursache wird mit einer reproduzierbaren Änderung und einem Regressionstest abgesichert.
Praxis: Eine vorbereitete Boot-Störung wird schrittweise lokalisiert, behoben und dokumentiert.
Zielgruppe
Firmware-Entwickler, BSP-Entwickler, Embedded-Linux-Entwickler, Systemarchitekten, Security Engineers und technische Integratoren.
Voraussetzungen
Gute C-Kenntnisse, Grundlagen der Arm-A-Architektur, sicherer Umgang mit Linux-Shell, Git und Cross-Compiler-Werkzeugen.
Praxisumgebung
Linux-Arbeitsplatz mit AArch64-Cross-Toolchain, GNU Make, Device-Tree-Compiler, Python, Git sowie QEMU oder einer vergleichbaren Arm-Laufzeitumgebung.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Firmware-Entwickler, BSP-Entwickler, Embedded-Linux-Entwickler, Systemarchitekten, Security Engineers und technische Integratoren. |
| Voraussetzungen: | Gute C-Kenntnisse, Grundlagen der Arm-A-Architektur, sicherer Umgang mit Linux-Shell, Git und Cross-Compiler-Werkzeugen. |
| 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.
