VDW Verein Deutscher Werkzeugmaschinenfabriken e.V.
30.01.2025
Cortex™-M23, M33: Armv8-M Architektur Training mit Security Extension - Workshop
Sie kennen die neue Armv8-M Architektur (Cortex™-M23 &-M33). Sie erstellen Programme in Assembler & C und platzieren und testen diese in gemischter Secure/Non-Secure Konfiguration im Speicher. Sie sind bereit für die Entwicklung von Cortex™-M23/M33-basierenden Systemen.
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 zu 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 dem Arm Simulator eingeübt
MicroConsult Plus:
- Sie bekommen von uns einen USB-Stick und können damit Kopien Ihres Übungsverzeichnisses und der Lösungsbeispiele für alle Übungsaufgaben mitnehmen. Zusätzlich erhalten Sie eine Installationsanleitung mit Download-Links der Toolumgebung, um die Übungen auch nach dem Training nachvollziehen zu können.