Experience Embedded

Professional Training, Consulting and Project Support

Cortex™-M23, M33: ARMv8-M Architecture Training with Security Extension

  • Content
     
  • Objectives
  • Participants
  • Requirements

You know the new ARMv8-M architecture (Cortex™-M23 and -M33) and can write software in C and Assembler. You can place the programs in mixed secure and non-secure configuration in memory and test them. You are perfectly prepared for developing Cortex™-M23/M33 based systems.

Hardware and software developers

A basic understanding of ANSI-C and microcontrollers.

TrustZone for ARMv8-M

  • Secure state transitions
  • Function calls from secure state to non-secure state
  • Function returns from non-secure state
  • Practical exercises: Developing and setting up mixed secure state/non-secure state projects for Cortex-M33

Cortex™-M (ARMv8-M) Processor Architecture

  • Register organization, special purpose register
  • Operation modes (handler/thread, privileged/unprivileged)
  • Main stack, process stack, stack limit register
  • Cortex™-M pipeline concept
  • Cortex™-M memory map, system control block
  • Practical exercises with the new stack limit registers
  • Differences to the ARMv6-M and ARMv7-M processor architecture

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 directives
  • Practical exercises: Assembler routine development, assembler debugging, code optimization

Exception and 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
  • Practical exercises with system tick, supervisor call and PendSV in the context of

RTOS applications

  • Practical exercises with fault handlers and output of status information

Memory Protection Unit MPU for Embedded Systems

  • ARMv6-M and ARMv7-M MPU
  • New ARMv8-M MPU
  • Practical exercises: MPU programming and dynamic reprogramming in the scheduler

Security Attribution Unit (SAU and IDAU)

  • Overview: Security and implementation defined attribution unit
  • Attribution attributes secure, non-secure, non-secure callable
  • Practical exercise: Programming the security attribution unit

Embedded Core Debugging

  • Core and system debugging
  • JTAG debug port
  • 2-pin single wire debug port
  • Trace port interface unit
  • Embedded trace macrocell
  • Practical exercise: Debugging C code with the µVision debugger and print output to the debug console

Embedded Software Development

  • Adjustment of library routines to hardware (retargeting)
  • Placing code and data in memory (scatter loading)
  • Linker description files
  • Processor start-up, start-up file
  • Practical exercise: Placing code and data at predefined addresses

Efficient C-Programming for Cortex Architectures

  • Compiler optimization, compiler options
  • Interface C - Assembler
  • Programming guidelines for Cortex compilers
  • Optimized utilization of local and global data
  • Tools: ARM, IAR, GNU

Hardware-near C-Programming According to CMSIS

  • Cortex Microcontroller Software Interface Standard (CMSIS)
  • Software architecture for embedded systems
  • Structured description of peripherals
  • Access to peripherals in C
  • C statements and their execution in Assembler
  • CMSIS extensions for ARMv8-M

Practical Exercises with Keil µVision in Assembler and C

  • ARMv6-M and ARMv7-M programs are developed and tested on a Cortex-M based evaluation board
  • Exercises for ARMv8-M are performed using the ARM simulator

MicroConsult PLUS:

  • You get a USB stick to take a copy your exercise directories and solution examples for all exercises with you. In addition, installation instructions and download links for the tool environment will allow you to repeat the exercises after the training.


The price includes lunch,

drinks, training documentation and certificate.


Information for HR

You can book up to 5 participants on one training with our online order form.
If you wish to book more participants on several trainings, please contact us!
Please also note our bonus program when booking several trainings and/or participants at once.


Information for HR

Related trainings

Cortex™-A5, A7, A8, A9, A15, A17: ARM Cortex-A Architecture Training
Training Code: E-CORTEXAX

Cortex™-R4: ARM Cortex-R Architecture Training
Training Code: E-CORTEXR4

STM32: Technical Training
Training Code: E-STM32

XMC4000 / XCM1000 Workshop: 32-Bit Industrial Microcontroller ARM® Cortex™-M4/ ARM® Cortex™-M0
Training Code: E-XMC4000

ARM7/ ARM9/ ARM10/ ARM11™: Architecture and Embedded Programming
Training Code: E-ARM-7/9

Embedded C Training: Programming Methods and Tools for Embedded Applications
Training Code: E-EMB-C

Embedded C++: Object-oriented Programming for Microcontrollers with C++/EC++ and UML
Training Code: E-EC++

Atmel Studio 6 & ASF: Application for Atmel ARM Core-based Flash Microcontrollers
Training Code: E-ATMEL-S


Related trainings

Trainings

DatePrice *Duration
19.02. – 22.02.20182.400,00 €4 days 
23.04. – 26.04.20182.400,00 €4 days 
Training code: E-ARMV8-MS
* All prices are exclusive of applicable VAT.


> Registration form download (PDF)
> Training details as PDF

Inhouse Training

In customized workshops, we integrate your specific project tasks and our training program, considering your requirements as regards content, time, location, duration, technical environment and knowledge transfer methodology.

Please contact us for further information or an individual quotation.

> Training details as PDF

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

Cortex™-M23, M33: ARMv8-M Architecture Training with Security Extension

Content

TrustZone for ARMv8-M

  • Secure state transitions
  • Function calls from secure state to non-secure state
  • Function returns from non-secure state
  • Practical exercises: Developing and setting up mixed secure state/non-secure state projects for Cortex-M33

Cortex™-M (ARMv8-M) Processor Architecture

  • Register organization, special purpose register
  • Operation modes (handler/thread, privileged/unprivileged)
  • Main stack, process stack, stack limit register
  • Cortex™-M pipeline concept
  • Cortex™-M memory map, system control block
  • Practical exercises with the new stack limit registers
  • Differences to the ARMv6-M and ARMv7-M processor architecture

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 directives
  • Practical exercises: Assembler routine development, assembler debugging, code optimization

Exception and 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
  • Practical exercises with system tick, supervisor call and PendSV in the context of

RTOS applications

  • Practical exercises with fault handlers and output of status information

Memory Protection Unit MPU for Embedded Systems

  • ARMv6-M and ARMv7-M MPU
  • New ARMv8-M MPU
  • Practical exercises: MPU programming and dynamic reprogramming in the scheduler

Security Attribution Unit (SAU and IDAU)

  • Overview: Security and implementation defined attribution unit
  • Attribution attributes secure, non-secure, non-secure callable
  • Practical exercise: Programming the security attribution unit

Embedded Core Debugging

  • Core and system debugging
  • JTAG debug port
  • 2-pin single wire debug port
  • Trace port interface unit
  • Embedded trace macrocell
  • Practical exercise: Debugging C code with the µVision debugger and print output to the debug console

Embedded Software Development

  • Adjustment of library routines to hardware (retargeting)
  • Placing code and data in memory (scatter loading)
  • Linker description files
  • Processor start-up, start-up file
  • Practical exercise: Placing code and data at predefined addresses

Efficient C-Programming for Cortex Architectures

  • Compiler optimization, compiler options
  • Interface C - Assembler
  • Programming guidelines for Cortex compilers
  • Optimized utilization of local and global data
  • Tools: ARM, IAR, GNU

Hardware-near C-Programming According to CMSIS

  • Cortex Microcontroller Software Interface Standard (CMSIS)
  • Software architecture for embedded systems
  • Structured description of peripherals
  • Access to peripherals in C
  • C statements and their execution in Assembler
  • CMSIS extensions for ARMv8-M

Practical Exercises with Keil µVision in Assembler and C

  • ARMv6-M and ARMv7-M programs are developed and tested on a Cortex-M based evaluation board
  • Exercises for ARMv8-M are performed using the ARM simulator

MicroConsult PLUS:

  • You get a USB stick to take a copy your exercise directories and solution examples for all exercises with you. In addition, installation instructions and download links for the tool environment will allow you to repeat the exercises after the training.

Wishlist


No trainings