Cortex™-M23, M33: Armv8-M Architektur Training mit Security Extension - Workshop

27.06.2017

10.09.2018 - 13.09.2018

Veranstaltungsort: München

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.