Inhaltsverzeichnis
- Einordnung und Zielsetzung
- Zielgruppe
- Voraussetzungen
- Lernziele
- Seminarinhalte
- Praxisübungen
- Technische Arbeitsmittel
Einordnung und Zielsetzung
Das Seminar behandelt die praktische Integration der EdgeLock Secure Enclave in MCUXpresso-SDK-Projekte für unterstützte Mikrocontroller und Crossover-Plattformen. Von Boardkonfiguration und Beispielanalyse über Initialisierung, Schlüsselobjekte und Kryptodienste bis zu Secure Boot, NVM und automatisierten Tests entsteht ein wartbares Firmware-Modul.
SDK-Beispiele dienen als Ausgangspunkt, werden jedoch nicht unverändert in ein Produkt übernommen. Abhängigkeiten, Speicher, Parallelität, Fehlerpfade, Buildvarianten und Sicherheitsgrenzen werden systematisch in eine eigene Integrationsschicht überführt.
Die angesetzte Dauer von 3 Tagen ist erforderlich, weil die Inhalte von „SDK-Struktur und Zielplattform“ bis „Automatisierte Hardwaretests“ fachlich aufeinander aufbauen und in 6 praktischen Arbeitsszenarien geprüft werden. Eine stärkere Kürzung würde entweder die sichere Konfiguration oder die notwendigen Positiv-, Negativ- und Wiederanlauftests verdrängen.
Zielgruppe
- MCUXpresso- und Embedded-C-Entwickler
- Firmware-Architekten für NXP-MCUs und Crossover-Prozessoren
- Treiber- und Middleware-Integratoren
- Firmware-Test- und CI-Verantwortliche
Voraussetzungen
Gute C-Kenntnisse, praktische Erfahrung mit MCUXpresso SDK, Toolchain, Board-Build und Debugger. Grundlagen in Kryptografie und Secure Boot werden vorausgesetzt.
Lernziele
- passende SDK-Komponenten und Beispiele für die Zielplattform auswählen
- Initialisierung und Enclave-Kommunikation robust in die Firmware integrieren
- Schlüssel- und Kryptodienste hinter einer sauberen API kapseln
- RTOS-, Speicher- und Parallelitätsanforderungen berücksichtigen
- Secure-Boot- und persistente Sicherheitsdaten in den Build einbinden
- Hardware-, Negativ- und Regressionstests automatisieren
Seminarinhalte
1. SDK-Struktur und Zielplattform
- Schritt 1: Board-Support, Treiber, Middleware und Security-Komponenten identifizieren.
- Schritt 2: Beispielprojekte nach Plattform, Profil und Dienstumfang auswählen.
- Schritt 3: Toolchain-, Linker- und Speicheranforderungen prüfen.
- Schritt 4: ein minimales, reproduzierbares Ausgangsprojekt erstellen.
2. Initialisierung und Plattformadapter
- Schritt 1: Takt, Speicher, Kommunikationskanal und benötigte Firmwarekomponenten vorbereiten.
- Schritt 2: Initialisierungsreihenfolge und Bereitschaftsprüfung umsetzen.
- Schritt 3: plattformabhängige Details hinter einem Adapter kapseln.
- Schritt 4: Fehler und wiederholte Initialisierung kontrolliert behandeln.
3. Baseline- und Statusdienste
- Schritt 1: Version, Capability und Gerätestatus abfragen.
- Schritt 2: Statuswerte in ein eigenes, stabiles Fehler- und Diagnosemodell übersetzen.
- Schritt 3: Lebenszyklus- und Bootinformationen für Anwendung und Test bereitstellen.
- Schritt 4: sensible Diagnoseinformationen für Produktionsbuilds begrenzen.
4. Key Stores und Schlüsselobjekte
- Schritt 1: Key Store und Objektkennungen für das Projekt strukturieren.
- Schritt 2: Schlüssel erzeugen oder sicher importieren.
- Schritt 3: Attribute, Nutzung und Persistenz nach Minimalprinzip festlegen.
- Schritt 4: Reset- und Wiederanlauffälle mit vorhandenen Objekten behandeln.
5. Kryptodienste in der Firmware
- Schritt 1: Hash, MAC, Cipher, Signatur und Zufall in eigene Services integrieren.
- Schritt 2: Pufferbesitz und Lebensdauer eindeutig definieren.
- Schritt 3: asynchrone oder blockierende Aufrufe passend zum Systemmodell wählen.
- Schritt 4: Testvektoren und Fehlerfälle direkt in das Projekt aufnehmen.
6. RTOS und Parallelität
- Schritt 1: Tasks und Clients mit gemeinsamem Enclave-Zugriff inventarisieren.
- Schritt 2: Serialisierung, Queue oder Service-Task als Zugriffsmuster auswählen.
- Schritt 3: Timeout, Priorität und Abbruch sicher behandeln.
- Schritt 4: Deadlocks und Handle-Verwechslungen durch Stresstests erkennen.
7. Geschützte NVM und Konfiguration
- Schritt 1: sensible Konfigurationsdaten von normalen Flashdaten trennen.
- Schritt 2: Version, Integrität und Aktualisierungsmuster definieren.
- Schritt 3: Stromausfall- und Resettests in die Implementierung einbauen.
- Schritt 4: Migration bei Firmwareänderungen vorbereiten.
8. Secure Boot und Buildintegration
- Schritt 1: Boot- und Signierartefakte des Boards identifizieren.
- Schritt 2: Signier- und Image-Schritte reproduzierbar skripten.
- Schritt 3: Entwicklungs- und Produktionsschlüssel im Buildprozess trennen.
- Schritt 4: gültige und manipulierte Images im automatisierten Boardtest prüfen.
9. Firmware-Abstraktion und Fehlermodell
- Schritt 1: öffentliche Schnittstellen nach Sicherheitsdienst statt Hardwarefunktion schneiden.
- Schritt 2: Rückgabewerte, Ereignisse und Wiederholbarkeit einheitlich abbilden.
- Schritt 3: Schlüsselhandles und interne Details vor Anwendungscode verbergen.
- Schritt 4: Logging und Diagnose zwischen Entwicklungs- und Produktionsbuild unterscheiden.
10. Automatisierte Hardwaretests
- Schritt 1: Positiv-, Negativ-, Reset- und Langzeittests definieren.
- Schritt 2: Boardsteuerung, Flashen und serielle Auswertung automatisieren.
- Schritt 3: Ergebnisse mit Firmware-, Board- und Konfigurationsversion verknüpfen.
- Schritt 4: Freigabekriterien für Regression und Serienbuild festlegen.
Praxisübungen
- Aufbau eines minimalen MCUXpresso-SDK-Projekts mit Enclave-Initialisierung
- Kapselung von Status-, Schlüssel- und Kryptodiensten in einem Firmware-Modul
- RTOS-sicherer Zugriff mehrerer Tasks auf gemeinsame Sicherheitsdienste
- Implementierung eines geschützten, versionierten NVM-Objekts
- Integration eines signierten Images in den Build
- Automatisierte Negativ-, Reset- und Regressionstests auf dem Board
Technische Arbeitsmittel
- Unterstütztes NXP-Evaluierungsboard
- MCUXpresso SDK, IDE oder Kommandozeilen-Toolchain
- Debugger, serielle Konsole und Board-Automatisierung
- Plattformspezifische Signier- und Provisionierungswerkzeuge
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: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | MCUXpresso- und Embedded-C-Entwickler; Firmware-Architekten für NXP-MCUs und Crossover-Prozessoren; Treiber- und Middleware-Integratoren; Firmware-Test- und CI-Verantwortliche |
| Voraussetzungen: | Gute C-Kenntnisse, praktische Erfahrung mit MCUXpresso SDK, Toolchain, Board-Build und Debugger. Grundlagen in Kryptografie und Secure Boot werden vorausgesetzt. |
| 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, Demonstrationen, schrittweise Konfiguration, praktische Übungen am System |
| 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.
