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

27.06.2017

23.04.2018 - 26.04.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.