0% found this document useful (0 votes)
57 views15 pages

Slide 1

Uploaded by

Numkang Kang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views15 pages

Slide 1

Uploaded by

Numkang Kang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Introduction to the Arm Cortex-M

Architecture and Software Development


Specialization

© 2022 Arm Course 1 Cortex-M Processors Overview


Virtual house rules
Just a few things before we begin

2 xxxx rev 00000


What does Arm do?
Arm founded in November 1990
• Advanced RISC Machines
Best known for its range of RISC processor cores designs
• Other products – fabric IP, software tools, models, cell libraries - to help
partners develop and ship Arm-based SoCs
Company headquarters in Cambridge, UK
• Processor design centers in Cambridge, Austin, Sophia Antipolis and
Hsinchu
• Sales, support, and engineering offices all over the world
Arm does not manufacture silicon
More information about Arm and our offices on our web
site:
• https://www.arm.com/company

4 xxxx rev 00000


Arm Architecture Profiles

Cortex-A Cortex-R Cortex-M SecurCore


Highest performance Faster responsiveness Smallest/lowest power Tamper resistant
Designed for high-level Designed for high Designed for discrete Designed for physical
operating systems performance, hard real- processing and security
time applications microcontrollers

5 xxxx rev 00000


Development of the Arm Architecture

v4T v5TE v6 v7 v8/v9

Halfword and signed Improved Arm/Thumb SIMD Instructions Thumb-2 64-bit registers
halfword/byte support Interworking Multi-processing NEON Privilege Levels
System mode CLZ v6 Memory architecture TrustZone New exception model
Thumb instruction set Saturated Unaligned data support Virtualization New memory model
arithmetic Extensions Architecture Profiles New instructions
DSP multiply- Thumb-2 (v6T2) v7-A (Applications): Armv7 compatible
accumulate TrustZone (v6Z) NEON
instructions Multicore (v6K) v7-R (Real-time): v8-M (Microcontroller)
Thumb-only (v6-M) Hardware divide 32-bit only
v7-M (Microcontroller): Baseline / Mainline
Hardware divide, TrustZone for Armv8-M
Thumb-only

Note that implementations of the same architecture can be different:


• Cortex-M3 - architecture v7-M with a 3-stage integer pipeline
• Cortex-M7 - architecture v7-M with a 6-stage integer pipeline

6 xxxx rev 00000


Arm Cortex Advanced Processors Armv7 & Armv6-M Armv8 & Armv9
Cortex-A17 Cortex-A710
Cortex-A15 Best performance
Architectural compatibility across a wide Cortex-A12 Cortex-A510

application range Cortex-A9


Cortex-A8
Cortex-A78
Cortex-A78C
Cortex-A7 Cortex-A78
Cortex-A5
Arm Cortex®-A family: Cortex-A78AE
Cortex-A77
Cortex-R8
• Applications processors for feature- Cortex-R7
Cortex-A77AE
rich OS and 3rd party applications Cortex-R5 Cortex-A76
Cortex-R4 Cortex-A76AE
Cortex-A75
Arm Cortex-R family: Cortex-M7
Cortex-M4
Cortex-A73
Cortex-A72
• Embedded processors for real-time Cortex-M3
Cortex-A65AE
SC300
signal processing, control applications Cortex-M1
Cortex-A65
Cortex-A55
SC000
Cortex-A53
Cortex-M0
Arm Cortex-M family: Cortex-A35
Cortex-A34
Cortex-M0+
• Microcontroller-oriented processors <12k gates... Cortex-A32
for MCU, ASSP, and SoC applications Cortex-R82
Cortex-R52+
• Arm SecurCore™ and Cortex-M35P - Tamper-resistant security Cortex-R52

Cortex-M55
Cortex-M35P
Arm Neoverse and Cortex-X processors also fall under the Application profile Cortex-M33
Cortex-M23
7 xxxx rev 00000
Arm Developer
Developer resources website

8 xxxx rev 00000


Downloading Arm products
Products bundles are currently delivered via two IP delivery systems:
• https://developer.arm.com/downloads
• https://connect.arm.com

Most of Arm’s IP is restricted to licensees


Non-restricted access to other downloads (license sometimes required)
9 xxxx rev 00000
Arm Documentation

Useful sections include


• Arm architecture
• Cortex-A/R/M series processors
• Arm Technical Support Knowledge Articles
• Application Notes and Tutorials
• Developer Guides and Articles

https://developer.arm.com/documentation

10 xxxx rev 00000


Arm Community

• Arm blogs
• Forum posts

https://community.arm.com/developer/ ts/processors/b/processors-ip-blog/posts/cortex-m-resources
ip-products/processors/b/processors-ip-
blog/posts/cortex-m-resources

11 xxxx rev 00000


http://community.arm.com/
Technical Support
Arm Support: https://developer.arm.com/support

12 xxxx rev 00000


Arm Training
Arm offers different types of training: https://developer.arm.com/training
• Face-to-face training
• Virtual training
• Online learning: https://developer.training.arm.com

13 xxxx rev 00000


Fundamental course objectives
At the end of this course you will be able to:
• Describe the implementation differences and configuration options of the different Cortex-M processors.
• Describe the programming model (register set, modes and states of the processor).
• Describe standards and APIs that support the architecture.
• Interpret and program in assembly language.
• Target applications at the default system memory.
• Configure the MPU to change the default system memory map.
• Handle processor exceptions such as interrupts and faults.
• Build an application targeting a Cortex-M system.
• Debug an application running on a Cortex-M system.

14 xxxx rev 00000


Further course objectives
At the end of this course you will be able to:
• Develop software that can safely access memory which is shared between multiple threads or processors.
• Utilise and manage caches in software.
• Optimise software to make use of the optional DSP Extension.
• Describe how floating-point hardware can help speed-up software that contains floating-point operations.
• Partition memory to allow secure and non-secure applications to run on the same device.
• Program the SysTick timer for different use cases.
• Authenticate pointers and identify branch targets to make software more secure.
• Optimise software to make use of the optional Microcontroller Vector Extension (Helium).

15 xxxx rev 00000


Thank You
Danke
Gracias
Grazie
谢谢
ありがとう
Asante
Merci
감사합니다
धन्यवाद
Kiitos
‫شكرا‬
ً
ধন্যবাদ
© 2022 Arm ‫תודה‬

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy