Cortex®-M23, M33: Armv8-M Architektur Training mit Security Extension - Präsenz-Training
Sie lernen die neue ARMv8-M Architektur (Cortex®-M23 und -M33) kennen und können Programme in Assembler und C erstellen. Der Schwerpunkt dieses Workshops liegt auf Software und deckt zahlreiche Themen ab, wie z.B. TrustZone, Prozessorarchitektur, erweiterter Befehlssatz, Interruptverhalten uvm. Nach dem Training können Sie die Programme in gemischter Secure- und Non-Secure-Konfiguration im Speicher platzieren und testen. Sie sind perfekt vorbereitet für die Entwicklung von Cortex®-M23/M33-basierenden Systemen.
Sie lernen die neue ARMv8-M Architektur (Cortex®-M23 und -M33) kennen und können Programme in Assembler und C erstellen.
Der Schwerpunkt dieses Workshops liegt auf Software und deckt zahlreiche Themen ab, wie z.B. TrustZone, Prozessorarchitektur, erweiterter Befehlssatz, Interruptverhalten uvm.
Nach dem Training können Sie die Programme in gemischter Secure- und Non-Secure-Konfiguration im Speicher platzieren und testen.
Sie sind perfekt vorbereitet für die Entwicklung von Cortex®-M23/M33-basierenden Systemen.
Hardware- und Software-Entwickler
ANSI-C und Mikrocontroller-Grundkenntnisse.
TrustZone for Armv8-M
- Secure State Transitions
- Function Calls from Secure State to Non-secure State
- Function Returns from Non-secure State
- Praktische Übungen zum Entwickeln und Aufsetzen von gemischt Secure/Non-Secure Projekten für den Cortex-M33
Cortex®-M (Armv8-M) Prozessor-Architektur
- Register-Organisation, Special Purpose Register
- Operation Modes (Handler/Thread, privileged/unprivileged)
- Main Stack, Process Stack, Stack Limit Register
- Cortex®-M Pipelinekonzept
- Cortex®-M Memory Map, System Control Block
- Praktische Übungen zu den neuen Stack Limit Registern
Unterschied zur Armv6-M und Armv7-M Prozessor-Architektur
Cortex®-M33, M23, M7, M4, M3, M1, M0+, M0 Instruction Set
- Thumb-2 Instruction Set
- Data Processing Instructions
- Branch and Control Flow Instructions, Subroutines
- Branch Table, If ... then Conditional Blocks
- Data Access Instructions
- Security Instructions
- Assembler-Direktiven
- Praktische Übungen zur Erstellung kleiner Assembler-Routinen, zum Assembler-Debuggen und zur Code-Optimierung
Exception und Interrupt Handling
- Exception Model
- Reset, NMI, Faults, SysTick, Debug, Supervisor Calls, External Interrupts
- Tail Chaining, Late Arriving, Tail Chaining with Security Transitions
- Nested Vector Interrupt Controller (NVIC)
- Interrupt Configuration and Status
- Interrupt Prioritization, Priority Grouping
- Security Targeting
- Banked Exceptions
- Secure Faults
- Praktische Übungen zum SystemTick, Supervisor Call und PendSV im Kontext von RTOS-Anwendungen
- Praktische Übungen zu den Fault Handlern und Ausgabe von Status-Informationen
Memory Protection Unit MPU für Embedded-Systeme
- Armv6-M und Armv7-M MPU
- Neue Armv8-M MPU
- Praktische Übungen zur Programmierung der MPU und zum dynamischen Umprogrammieren im Scheduler
Security Attribution Unit (SAU und IDAU)
- Überblick zur Security und Implementation Defined Attribution Unit
- Attribution Attributes Secure, Non-secure, Non-secure Callable
- Praktische Übung zur Programmierung der Security Attribution Unit
Embedded Core Debugging
- Core und System Debugging
- JTAG Debug Port
- 2-Pin Single Wire Debug Port
- Trace Port Interface Unit
- Embedded Trace Macro Cell
- Praktische Übungen zum Debuggen von C-Code mit dem µVision Debugger und Print-Ausgaben auf die Debug-Konsole
Embedded Software Development
- Bibliotheksroutinen an die Hardware anpassen (Retargeting)
- Code und Daten im Speicher platzieren (Scatter Loading)
- Linker Description File
- Processor Startup, Startup File
- Praktische Übung zur Platzierung von Code und Daten an vordefinierten Adressen
Effiziente C-Programmierung für die Cortex-Architektur
- Compiler-Optimierung, Compiler-Optionen
- Schnittstelle C - Assembler
- Programmierrichtlinien für Cortex-Compiler
- Lokale und globale Daten optimal verwenden
Hardwarenahe C-Programmierung nach CMSIS
- Cortex Mikrocontroller Software Interface Standard (CMSIS)
- Softwarearchitektur für Embedded-Systeme
- Strukturierte Beschreibung von Peripherie
- Zugriff auf Peripherie in C
- C-Statements und deren Ausführung in Assembler
- CMSIS-Erweiterungen für Armv8-M
Übungen mit Keil µVision in Assembler und C
- Armv6-M und Armv7-M Programme werden auf einem Cortex-M-basierenden Evaluierungsboard entwickelt und getestet
- Übungen für den Armv8-M werden mit einem LPCXpresso55S69 Board eingeübt
MicroConsult Plus:
- Sie erhalten von uns Ihre Übungsverzeichnisse und Lösungsbeispiele für alle Übungsaufgaben.
-----------------------------------------------------
Präsenz-Training
Onsite-Training
In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.
Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.