Seminar / Training
Das Seminar vermittelt die sichere Planung und Implementierung von Speicherabbildungen in TF-A. Physische und virtuelle Bereiche, Attribute, XLAT-Tables-v2-APIs, MMU-Initialisierung, Cache- und TLB-Pflege sowie Schutz von Code und Daten werden anhand realer Plattformkonfigurationen bearbeitet. Typische Fehler wie Überlappungen, falsche Ausrichtung und inkonsistente Attribute werden praktisch diagnostiziert.
Inhaltsübersicht
- Adressräume und Speicherattribute
- Speicherlayout der TF-A-Images
- XLAT Tables Library v2
- MMU- und Cache-Initialisierung
- Schutz von Code und Daten
- Kohärenter und nicht kohärenter Speicher
- Fehleranalyse und Validierung
Lernziele
- Speicherbereiche und Attribute für TF-A-Boot-Stufen korrekt planen.
- XLAT-Tables-v2-APIs für statische und dynamische Mappings einsetzen.
- MMU-, Cache- und TLB-Initialisierung in der richtigen Reihenfolge ausführen.
- Code, Read-only-Daten, Geräte und gemeinsam genutzten Speicher sicher trennen.
- Adressierungs- und Attributfehler mit Map-Datei, Seitentabellen und Exception-Daten beheben.
Seminarinhalte
1. Adressräume und Speicherattribute
- Schritt 1: Physische, virtuelle und gegebenenfalls Root- und Realm-Adressräume werden unterschieden.
- Schritt 2: Normal Memory, Device Memory, Secure, Non-secure, ausführbar und read-only werden als orthogonale Eigenschaften erfasst.
- Schritt 3: Granularität, Ausrichtung und Übersetzungsstufen werden aus Zielarchitektur und VA-Größe abgeleitet.
Praxis: Ein Plattformadressraum wird in eine vollständige Regionstabelle überführt.
2. Speicherlayout der TF-A-Images
- Schritt 1: Code, rodata, Daten, BSS, Stacks, Heap und Plattformbereiche werden aus Linker-Symbolen ermittelt.
- Schritt 2: Lade- und Laufzeitadressen werden gegen reservierte DRAM- und SRAM-Bereiche geprüft.
- Schritt 3: Überlappungen und zu kleine Grenzwerte werden bereits im Build sichtbar gemacht.
Praxis: Eine fehlerhafte BL31-Speichergrenze wird anhand der Map-Datei korrigiert.
3. XLAT Tables Library v2
- Schritt 1: Kontext, Regionendefinitionen und Initialisierung der Bibliothek werden im Quellcode nachvollzogen.
- Schritt 2: Statische Regionen werden in konsistenter Reihenfolge registriert.
- Schritt 3: Dynamische Regionen werden mit Lebensdauer, Sperrung und Fehlerbehandlung verwaltet.
Praxis: Ein zusätzlicher Gerätebereich wird sicher in die Seitentabellen aufgenommen.
4. MMU- und Cache-Initialisierung
- Schritt 1: MAIR, TCR, TTBR und SCTLR werden aus der gewählten Konfiguration abgeleitet.
- Schritt 2: Barrieren, Cache-Wartung und TLB-Invalidierung werden an den korrekten Stellen ausgeführt.
- Schritt 3: Übergaben zwischen Stufen berücksichtigen vorhandene Cache- und MMU-Zustände.
Praxis: MMU-Aktivierung und ein kontrollierter Zugriff werden mit Registerprüfung nachvollzogen.
5. Schutz von Code und Daten
- Schritt 1: Ausführbarer Code, nicht ausführbare Daten und read-only Bereiche werden getrennt gemappt.
- Schritt 2: Nicht mehr benötigte Initialisierungsbereiche werden nach Möglichkeit freigegeben oder unzugänglich gemacht.
- Schritt 3: Gemeinsam genutzte Puffer erhalten minimale Attribute und klare Eigentumswechsel.
Praxis: Ein übermäßig permissives Mapping wird auf minimale Rechte reduziert.
6. Kohärenter und nicht kohärenter Speicher
- Schritt 1: Verwendung gemeinsam genutzter Datenstrukturen wird mit Cache-Kohärenz und Sperrkonzept abgestimmt.
- Schritt 2: Plattformen ohne kohärenten Interconnect erhalten explizite Wartungsoperationen.
- Schritt 3: Power-Management-Pfade sichern, dass Daten vor Abschalten oder Wiederanlauf sichtbar sind.
Praxis: Ein Mehrkern-Datenpfad wird auf fehlende Cache-Wartung untersucht.
7. Fehleranalyse und Validierung
- Schritt 1: Translation Fault, Permission Fault und Alignment Fault werden über ESR und FAR unterschieden.
- Schritt 2: Seitentabellen, Regionendefinitionen und tatsächliche Zugriffe werden gegeneinander geprüft.
- Schritt 3: Ein Regressionstest stellt korrekte Attribute und unerlaubte Zugriffe sicher.
Praxis: Mehrere Speicherfehler werden diagnostiziert und mit gezielten Negativtests abgesichert.
Zielgruppe
Firmware-Entwickler, BSP-Entwickler, SoC-Integratoren und Security Engineers mit Verantwortung für Speicherisolation.
Voraussetzungen
Gute C- und Arm-A-Kenntnisse, Verständnis von MMU, Caches und virtueller Adressierung sowie TF-A-Architekturgrundlagen.
Praxisumgebung
Linux-Arbeitsplatz mit TF-A-Quellbaum, AArch64-Toolchain, Binutils, Debugger sowie QEMU oder FVP.
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, SoC-Integratoren und Security Engineers mit Verantwortung für Speicherisolation. |
| Voraussetzungen: | Gute C- und Arm-A-Kenntnisse, Verständnis von MMU, Caches und virtueller Adressierung sowie TF-A-Architekturgrundlagen. |
| 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.
