RM4 - Cortex-M7 implementation

Similar documents
RM3 - Cortex-M4 / Cortex-M4F implementation

L2 - C language for Embedded MCUs

RA3 - Cortex-A15 implementation

FA3 - i.mx51 Implementation + LTIB

Cortex-M Software Development

FPQ6 - MPC8313E implementation

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.

Cortex-M3/M4 Software Development

FCQ2 - P2020 QorIQ implementation

RT3 - FreeRTOS Real Time Programming

Cortex-R5 Software Development

FPQ9 - MPC8360E implementation

STG - STM32 + FreeRTOS + LwIP/EmWin

Kinetis Software Optimization

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7

Cortex-M3/M4 Software Desig ARM

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Modular ARM System Design

ARM architecture road map. NuMicro Overview of Cortex M. Cortex M Processor Family (2/3) All binary upwards compatible

Cortex-A9 MPCore Software Development

D1S - Embedded Linux with Ac6 System Workbench

The Definitive Guide to the ARM Cortex-M3

VHX - Xilinx - FPGA Programming in VHDL

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

ARMv8-A Software Development

Chapter 15 ARM Architecture, Programming and Development Tools

Cortex -M7 Processor

Cortex-A15 MPCore Software Development

Chapter 5. Introduction ARM Cortex series

STM32 F0 Value Line. Entry-level MCUs

The Definitive Guide to ARM Ò Cortex Ò -M3 and Cortex-M4 Processors

ARM Processors for Embedded Applications

The Next Steps in the Evolution of ARM Cortex-M

Implementing Secure Software Systems on ARMv8-M Microcontrollers

ELC4438: Embedded System Design ARM Embedded Processor

ARM Cortex -M for Beginners

D1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment.

Running ARM7TDMI Processor Software on the Cortex -M3 Processor

D1Y - Embedded Linux with Yocto

ARM Cortex core microcontrollers

Cortex-A5 MPCore Software Development

ELC4438: Embedded System Design ARM Cortex-M Architecture II

The Challenges of System Design. Raising Performance and Reducing Power Consumption

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

The ARM Cortex-M0 Processor Architecture Part-1

Copyright 2016 Xilinx

ARM Cortex-M and RTOSs Are Meant for Each Other

Hercules ARM Cortex -R4 System Architecture. Processor Overview

OUTLINE. STM32F0 Architecture Overview STM32F0 Core Motivation for RISC and Pipelining Cortex-M0 Programming Model Toolchain and Project Structure

How to Select Hardware forvolume IoT Deployment?

FPQ7 - MPC832XE implementation

The ARM10 Family of Advanced Microprocessor Cores

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

Application Note. Migrating from 8051 to Cortex Microcontrollers. Document number: ARM DAI 0237 Issued: July 2010 Copyright ARM Limited 2010

Migrating from the nrf51 Series to the nrf52 Series

ARM Cortex -M7: Bringing High Performance to the Cortex-M Processor Series. Ian Johnson Senior Product Manager, ARM

Floating-Point Unit. Introduction. Agenda

Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to

The course provides all necessary theoretical and practical know-how for start developing platforms based on STM32L4 family.

Contents. Cortex M On-Chip Emulation. Technical Notes V

New STM32 F7 Series. World s 1 st to market, ARM Cortex -M7 based 32-bit MCU

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 14 Instruction Level Parallelism and Superscalar Processors

ARM. Cortex -M7 Devices. Generic User Guide. Copyright 2015 ARM. All rights reserved. ARM DUI 0646A (ID042815)

AND SOLUTION FIRST INTERNAL TEST

Cortex -R5. Technical Reference Manual. Revision: r1p2. Copyright ARM. All rights reserved. ARM DDI 0460D (ID092411)

Cortex-A15 MPCore Software Development

Arm Cortex -M33 Devices

Cortex-M4 Processor Overview. with ARM Processors and Architectures

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

NXP Unveils Its First ARM Cortex -M4 Based Controller Family

Troubleshooting Guide

STM32 MICROCONTROLLER

Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

ECE254 Lab3 Tutorial. Introduction to MCB1700 Hardware Programming. Irene Huang

Contents of this presentation: Some words about the ARM company

Tutorial. How to use Keil µvision with Spansion templates Spansion Inc.

Designing with STM32F2x & STM32F4

Intel 64 and IA-32 Architectures Software Developer s Manual

Universität Dortmund. ARM Architecture

The control of I/O devices is a major concern for OS designers

EEM870 Embedded System and Experiment Lecture 3: ARM Processor Architecture

Designing with NXP i.mx8m SoC

Growth outside Cell Phone Applications

EMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015

Introduction to Armv8.1-M architecture

AN316 Determining the stack usage of applications

WS_CCESSH5-OUT-v1.01.doc Page 1 of 7

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim

STM32F7 series ARM Cortex -M7 powered Releasing your creativity

The ARM Cortex-A9 Processors

A superscalar machine is one in which multiple instruction streams allow completion of more than one instruction per cycle.

Processors, Performance, and Profiling

Purpose This course provides an overview of the SH-2A 32-bit RISC CPU core built into newer microcontrollers in the popular SH-2 series

STM32: Peripherals. Alberto Bosio November 29, Univeristé de Montpellier

Speeding AM335x Programmable Realtime Unit (PRU) Application Development Through Improved Debug Tools

AN Migrating to the LPC1700 series

Hercules ARM Cortex -R4 System Architecture. Memory Protection Unit (MPU)

Main Points of the Computer Organization and System Software Module

IoT and Security: ARM v8-m Architecture. Robert Boys Product Marketing DSG, ARM. Spring 2017: V 3.1

Transcription:

Formation Cortex-M7 implementation: This course covers the Cortex-M7 V7E-M compliant CPU - Processeurs ARM: ARM Cores RM4 - Cortex-M7 implementation 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. Labs are run under the System Workbench for STM32 IDE A more detailed course description is available on request at training@ac6-training.com Prerequisites and related courses Our course reference cours RI0 - AXI3 / AXI4 INTERCONNECT details the operation of AXI4 bus. Contents can adapted when attendees have already the knowledge of Cortex-M4. Plan FIRST DAY - ARCHITECTURE INTRODUCTION TO ARM CORTEX-M7 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 ARM CORTEX-M7 CORE

Dynamic branch prediction Bit-banding System timer System control block Detail of Data Processing Unit Load Store Unit, store buffering RM4 - Cortex-M7 implementation 06/13/18 CACHES AND TCMS 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 SECOND DAY - ARCHITECTURE ARCHITECTURE OF A SOC BASED ON CORTEX-M7 Internal bus matrix Accessing ROM Accessing SRAM Connecting peripherals Sharing resources between Cortex-M7 and other CPUs STM32F7 architecture EXCLUSIVE RESOURCE MANAGEMENT AND LOW POWER MODES 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 EXCEPTIONS INTERRUPTS

RM4 - Cortex-M7 implementation 06/13/18 THIRD DAY OPTIONAL UNITS, HARDWARE IMPLEMENTATION MEMORY PROTECTION UNIT 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 FLOATING POINT UNIT 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 AXI IMPLEMENTATION Overview of AXI bus specification, explaining ordering rules AXI attributes and transactions Restrictions on AXI transfers Overview of AHB-Lite protocol AHBP AHBS AHB IMPLEMENTATION AHB CORTEX-M7 HARDWARE IMPLEMENTATION Pinout Clocking and reset, power management Using an external Wake-up Interrupt Controller (WIC) L2C-310 LEVEL 2 CACHE 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 Power management Cache event monitoring Cache lockdown Interrupt management

RM4 - Cortex-M7 implementation 06/13/18 FOURTH DAY DEBUG, SOFTWARE DESIGN Coresight debug infrastructure, DAP Cortex-M7 debug features Halt mode Vector catching Monitor mode Debug event sources Flash patch and breakpoint features Data watchpoint and trace AHB-lite Debug interface ROM table INVASIVE DEBUG NON-INVASIVE DEBUG Basic ETM operation Instruction trace principles Instrumentation Trace Macrocell DWT trace packets Time-stamping packets Instruction tracing, branch packets, exception tracing packets TPIU components Embedded Trace Buffer Purpose of this debug unit Trigger signals to CTI and Trigger signals from CTI CROSS-TRIGGER INTERFACE EMBEDDED SOFTWARE DEVELOPMENT WITH CORTEX-M7 Embedded development process Application startup Placing code, data, stack and heap in the memory map, scatterloading Reset and initialisation Placing a minimal vector table Further memory map considerations, 8-byte stack alignment in handlers Building and debugging your image Long branch veneers Coding guidelines when a cache is used C/C++ COMPILER HINTS AND TIPS FOR Cortex-M7 ARM compiler optimisations, tail-call optimization, inlining of functions Mixing C/C++ and assembly Coding with ARM compiler Measuring stack usage Unaligned accesses Local and global data issues, alignment of structures Further optimisations, linker feedback THUMB-2 INSTRUCTION SET

Data processing instructions Branch and control flow instructions Exception generating instructions If then conditional blocks Stack in operation Memory barriers and synchronization Multiply instructions Packing / unpacking instructions V6 ARM SIMD packed add / sub instructions SIMD combined add/sub instructions Multiply and multiply accumulate instructions SIMD sum absolute difference instructions SIMD select instruction Saturation instructions RM4 - Cortex-M7 implementation 06/13/18 CORTEX-M7 DSP INSTRUCTION SET Renseignements pratiques Durée : 4 jours Prix : 2300 HT SARL au capital de 138600 - SIRET 449 597 103 00026 - RCS Nanterre - NAF 722C - Centre de Formation : 19, rue Pierre Curie - 92400 Courbevoie Siège social et administration : 21, rue Pierre Curie - 92400 Courbevoie - Tél. 01 41 16 80 10 - Fax. 01 41 16 07 78 Dernière mise à jour du site: Wed Jun 13 10:52:40 2018 http://www.ac6-training.com/