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

Similar documents
ARM Cortex core microcontrollers

NXP Unveils Its First ARM Cortex -M4 Based Controller Family

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

Chapter 5. Introduction ARM Cortex series

Cortex M4-based LPC4300 The first asymmetric multi-core MCU for the industry

The ARM Cortex-M0 Processor Architecture Part-1

ARM Cortex-M4 Architecture and Instruction Set 1: Architecture Overview

RM4 - Cortex-M7 implementation

Chapter 15 ARM Architecture, Programming and Development Tools

ECE 471 Embedded Systems Lecture 2

LPC4370FET256. Features and benefits

STM32 F0 Value Line. Entry-level MCUs

Hercules ARM Cortex -R4 System Architecture. Processor Overview

RM3 - Cortex-M4 / Cortex-M4F implementation

ARM Cortex -M for Beginners

ECE 471 Embedded Systems Lecture 2

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

systems such as Linux (real time application interface Linux included). The unified 32-

STM32F7 series ARM Cortex -M7 powered Releasing your creativity

ELC4438: Embedded System Design ARM Embedded Processor

Copyright 2016 Xilinx

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

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

Cortex-M Software Development

LPC4000 Family. October/November 2010 Presenter s Name

Universität Dortmund. ARM Architecture

AN Migrating to the LPC1700 series

ARM Processors for Embedded Applications

Supercharging the Embedded Device: ARM Cortex -M7. Ian Johnson Senior Product Manager, ARM

7. Discuss the hardware signals and superscalar architecture of Pentium BTL 2 Understand

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

Cortex-M3/M4 Software Development

Designing with NXP i.mx8m SoC

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

ECE 471 Embedded Systems Lecture 3

STM32 Journal. In this Issue:

Designing with STM32F2x & STM32F4

Systemy RT i embedded Wykład 5 Mikrokontrolery 32-bitowe AVR32, ARM. Wrocław 2013

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

Kinetis Software Optimization

ARM Processor Architecture

Chapter 4. Enhancing ARM7 architecture by embedding RTOS

ELC4438: Embedded System Design ARM Cortex-M Architecture II

VALLIAMMAI ENGINEERING COLLEGE

STM32F3. Cuauhtémoc Carbajal ITESM CEM 12/08/2013

The Next Steps in the Evolution of ARM Cortex-M

Cortex-R5 Software Development

COL862 - Low Power Computing

STM32F7 series ARM Cortex -M7 powered Releasing your creativity

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

ARM Cortex core microcontrollers 12 th Energy efficient operation

Renesas Synergy MCUs Build a Foundation for Groundbreaking Integrated Embedded Platform Development

Measuring Interrupt Latency

ARM Embedded Systems: ARM Design philosophy, Embedded System Hardware, Embedded System Software

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

CONTACT: ,

2-Oct-13. the world s most energy friendly microcontrollers and radios

BASIC INTERFACING CONCEPTS

STM32F429 Overview. Steve Miller STMicroelectronics, MMS Applications Team October 26 th 2015

The Next Steps in the Evolution of Embedded Processors

Diploma in Embedded Systems

L2 - C language for Embedded MCUs

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

ARM Architecture and Assembly Programming Intro

Samsung S3C4510B. Hsung-Pin Chang Department of Computer Science National Chung Hsing University

STM bit ARM Cortex MCUs STM32F030 Series

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

Contents of this presentation: Some words about the ARM company

Microprocessors and Microcontrollers. Assignment 1:

EEM870 Embedded System and Experiment Lecture 3: ARM Processor Architecture

15CS44: MICROPROCESSORS AND MICROCONTROLLERS. QUESTION BANK with SOLUTIONS MODULE-4

SoC Platforms and CPU Cores

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

Basic Components of Digital Computer

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

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

Growth outside Cell Phone Applications

Modular ARM System Design

REAL TIME DIGITAL SIGNAL PROCESSING

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

Implementing Secure Software Systems on ARMv8-M Microcontrollers

Interconnects, Memory, GPIO

FA3 - i.mx51 Implementation + LTIB

Introduction to Sitara AM437x Processors

Course Introduction. Purpose: Objectives: Content: Learning Time:

Choosing a Micro for an Embedded System Application

Cortex-M Processors and the Internet of Things (IoT)

SBC1788 Single Board Computer

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

ARM Cortex-A9 ARM v7-a. A programmer s perspective Part1

KL03 Product Brief Supports all KL03 devices

Military Grade SmartFusion Customizable System-on-Chip (csoc)

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

Embedded Systems: Architecture

Introduction to ARM LPC2148 Microcontroller

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

NXP 32-bit microcontrollers Broaden your options. February 2012

CISC RISC. Compiler. Compiler. Processor. Processor

Cortex-M4 Processor Overview. with ARM Processors and Architectures

Transcription:

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018

Trends of 32-bit microcontrollers 2003-2017 Flash [kbyte] M0 M0,M0+ M3, M0 M3 M4, M3 1024 512 256 128 64 32 16 8 4 2 1 0,5 8 14-16 20 28-32-36 40-44-48 64 80-100 144 208 256 Pin count BME-MIT 2018 2.

ARM Cortex-M cores o M0, M0+: Ultra low power Very simple 85 uw/mhz o M1: design for FPGA o M3: General purpose microcontroller o M4: DSP instructions o M7: more faster than M4, superscalar, cache BME-MIT 2018 3.

ARM Cortex-M0 BME-MIT 2018 4.

32-bit core, 2 stage pipeline Neumann architecture o Very simple ARMv6-M architecture A Cortex-M0 core o 16-bit Thumb instruction set extended with some Thumb-2 instructions BME-MIT 2018 5.

ARM7, Cortex-M3, M0 comparison: bus systems ARM7TDMI Cortex-M3 Cortex-M0 BME-MIT 2018 6.

Registers Similar to other ARM Cortex cores o R0 R3: C subroutine parameters o R0 ( R1 ) return values o R4 R11 local register variables o R12 Intra-Procedure-call o R13 Stack Pointer o R14 Link Register o R15 Program Counter BME-MIT 2018 7.

Compatible with M3 Memory map BME-MIT 2018 8.

Same as M3 Operation modes o Handler and Thread mode BME-MIT 2018 9.

Thumb-2 Instruction set o The modernization of the old Thumb instruction set. Reduced number of instructions 56 pieces. Granted execution speed. o The instruction set of Cortex M0 can be used by any other Cortex M core. o 0,9 DMIPS/MHz BME-MIT 2018 10.

Cortex-M0 and M3 instruction set comparison BME-MIT 2018 11.

Cortex-M0 core performance BME-MIT 2018 12.

NVIC, Nested Vector Interrupt Controller Very Similar to the one in Cortex M3 Maximum 32 external vectors Staring Stack pointer at 0x0 4 priority levels BME-MIT 2018 13.

Cortex-M0, core level power modes Very low pin count WIC block o Possible to wake-up from deep sleep Sleep o The CPU clock stops, the whole NVIC remains active Deep sleep o Only the WIC remains active, the core and NVIC stops WIC wakes-up the system through the PMU (Power Management Unit) BME-MIT 2018 14.

Cotex M0+ Optimized version of Cortex M0 o Pipeline reduced to 2 stage o Micro Trace Buffer possibility (simplified instruction trace) o Optional memory protection unit o Optional vector table relocation o On clock cycle I/O port handling o 13,3 µw/mhz (M0) -> 11,2 µw/mhz (M0+) (32 µw/mhz (M3)) BME-MIT 2018 15.

ARM Cortex-M4 BME-MIT 2018 16.

Cortex-M4 Cortex-M4 processor o Thumb-2 instruction set o DSP and SIMD instructions o One clock cycle MAC (32 x 32 + 64 -> 64) o Optional single precision FPU o Code compatible with M3 1,27 / 1,55 / 1,95 DMIPS/MHz Architecture o 3 phase pipeline with branch prediction o 3x AHB-Lite Bus Interface Power safe modes o Deep Sleep Mode, Wakeup IT o Power down options for the FPU NVIC (1-240 IT and priority) Memory Protection Unit Debug & Trace BME-MIT 2018 17.

Cortex-M4 instruction set BME-MIT 2018 18.

SIMD (Single Instruction Multiple Data) Performing the same operations to many variable in one cycle Using compressed 16-bit variables BME-MIT 2018 19.

One clock cycle MAC instructions BME-MIT 2018 20.

Cortex-M4 instruction set BME-MIT 2018 21.

Cortex-M4 FIR filter Using a DSP with assembly code: 1 cycle Cortex-M4 standard C code: 12 cycle Optimized C code: 6 cycle Assembly using SIMD instructions to 16-bit variables: 2-3 cycles Optimized assembly code 1,5-2 cycle Nearly the same performance as a DSP. BME-MIT 2018 22.

Cortex-M3, M4 comparison: 16-bit arithmetic BME-MIT 2018 23.

Foating point unit IEEE 754 standard based Capabilities: BME-MIT 2018 24.

CMSIS DSP library DSP Library support o Basic mathematic operations: vector operations o Trigonometrical operations: sin, cos, sqrt stb. o Interpolation: linear, bilinear o Complex math: Statistics: max, min, RMS etc. Filtering: IIR, FIR, LMS etc. Transformations: FFT Matrix operations PID controller BME-MIT 2018 25.

ARM Cortex-M7 BME-MIT 2018 26.

ARMv7-M architecture Built-in Floating point unit 6 stage pipeline o superscalar o branch prediction 2,14 3,23 DMIPS/MHz 0 64 kb 2 way instruction cache 0 64kB 4 way data cache 8 or 16 region MPU ECC Error correcting code Lock-step possibility Cortex-M7 BME-MIT 2018 27.

M7 instruction set BME-MIT 2018 28.

6 stage superscalar pipeline o Two shifter, ALU o One MAC o One floating point pipe M7 pipeline BME-MIT 2018 29.

Tightly-coupled memory (TCM) Small latency memory, used for predictable, and realtime critical code. Do not have the unpredictability like the cache. 16 Mbyte both for instruction and data (instruction 64-bit bus, data 2x32-bit bus). BME-MIT 2018 30.

Performance of Cortex M7 BME-MIT 2018 31.

Comparing to M4 CMSIS library support DSP functionality BME-MIT 2018 32.

Microcontrollers on the market BME-MIT 2018 33.

NXP lines BME-MIT 2018 34.

NXP lines BME-MIT 2018 35.

ST lines BME-MIT 2018 36.

Curiosity BME-MIT 2018 37.

LPC4300 family Cortex-M4 based Digital Signal Controller Cortex-M0 subsystem for peripheral functions max. 1 MByte Flash o Organised into two banks Flash Max. 200 kbyte SRAM High speed USB Features o 10/100 Ethernet MAC o LCD panel controller (max. 1024H 768V) o 2x10-bit ADC and 10-bit DAC at 400 ksps o 8 channel DMA controller o Motor Control PWM, Quadrature Encoder o 4x UARTs, 2x I2C, I2S, CAN 2.0B, 2x SSP/SPI BME-MIT 2018 38.

LPC4300 internal architecture BME-MIT 2018 39.

Cortex-M4 and Cortex-M0 in one chip Processing and real-time control is separable Individual interrupt capability Sharing data through common memory BME-MIT 2018 40.

Cortex-M0 and M4 together in audio aplications Cortex-M0: peripheral tasks: I2S, USB Cortex-M4: signal processing BME-MIT 2018 41.

Motor control example Cortex-M4: Motor control Field Oriented Control (FOC) Cortex-M0: CAN communication handling BME-MIT 2018 42.