This course covers the Cortex-M7 V7E-M compliant CPU
Objectives
This course is split into 3 important parts:
Cortex-M7 architecture
Cortex-M7 software implementation and debug
Cortex-M7 hardware implementation.
Through a tutorial, the Cortex-M7 low level programming is explained, particularly the ARM linker parameterizing and some tricky assembly instructions.
Note that attendees can replay these labs after the training.
The course also indicates how to use caches and TCMs which are new units with regard to Cortex-M4.
The course also details the hardware implementation and provides some guidelines to design a SoC based on Cortex-M7, taking benefit of concurrent AXI/AHB transactions.
An overview of the Coresight specification is provided prior to describing the debug related units.
Contents can adapted when attendees have already the knowledge of Cortex-M4.
Cours théorique
Support de cours au format PDF (en anglais) et une version imprimée lors des sessions en présentiel
Cours dispensé via le système de visioconférence Teams (si à distance)
Le formateur répond aux questions des stagiaires en direct pendant la formation et fournit une assistance technique et pédagogique
Au début de chaque demi-journée une période est réservée à une interaction avec les stagiaires pour s'assurer que le cours répond à leurs attentes et l'adapter si nécessaire
Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
Les prérequis indiqués ci-dessus sont évalués avant la formation par l'encadrement technique du stagiaire dans son entreprise, ou par le stagiaire lui-même dans le cas exceptionnel d'un stagiaire individuel.
Les progrès des stagiaires sont évalués par des quizz proposés en fin des sections pour vérifier que les stagiaires ont assimilé les points présentés
En fin de formation, une attestation et un certificat attestant que le stagiaire a suivi le cours avec succès.
En cas de problème dû à un manque de prérequis de la part du stagiaire, constaté lors de la formation, une formation différente ou complémentaire lui est proposée, en général pour conforter ses prérequis, en accord avec son responsable en entreprise le cas échéant.
Plan du cours
Memory interfaces: TCMs, caches and AHB peripheral port
Fixed memory map
Configuration options
Lock-step implementation
Highlighting the new features of the V7E-M architecture
In-order superscalar pipeline
Dynamic branch prediction
Bit-banding
System timer
System control block
Detail of Data Processing Unit
Load Store Unit, store buffering
Caches
Cortex-M7 cache implementation
Cache maintenance operations
Dynamic read allocate mode, recovering from errors
Store buffer merging
L1 Caches error correcting code
TCMs
Benefit of implementing two separate D-TCM ports
Implementing external ECC for TCMs
Internal bus matrix
Accessing ROM
Accessing SRAM
Connecting peripherals
Sharing resources between Cortex-M7 and other CPUs
STM32F7 architecture
Atomicity in single processor multiple thread systems
Operation of the Local monitor
Wait For Interrupt
Events
Exception behavior
Exception-continuable instructions
Non-maskable exceptions
Fault handling MPU faults, external faults
Priority boosting
Reset sequence, initialization requirements
Interrupt entry / exit, timing diagrams
Tail chaining
NVIC registers
Interrupt prioritization
Interrupt handlers
Wake-up Interrupt Controller
Device and normal memory ordering
Memory type access restrictions
Memory ordering restrictions
Memory protection overview, ARM v7 PMSA
Fault status and address registers
Region overview, memory type and access control, sub-regions
Region overlapping
Setting up the MPU
Introduction to IEEE754,
Floating point arithmetic
Cortex-M7 single and double precision FPU
Hardware support for denormals and all IEEE rounding modes
Improving the performance by selection flush-to-zero mode and default NaN mode
Extension of AAPCS to include FP registers
Lazy floating-point context save
Highlighting the new features of FPv5
Overview of AXI bus specification, explaining ordering rules
AXI attributes and transactions
Restrictions on AXI transfers
Overview of AHB-Lite protocol
AHBP
AHBS
Pinout
Clocking and reset, power management
Using an external Wake-up Interrupt Controller (WIC)
Cache configurability
AXI interface characteristics
Understanding through sequences how cacheable information is copied from memory to level 1 and level 2 caches
Transient operations, utilization of line buffers LFBs, LRBs, EBs and STBs