View the site in Français View the site in English (USA) Site displayed in English (GB)
You are here: ac6 > ac6-formation > ARM cores > Cortex-M1 implementation
Download Catalog
Download Catalog
Download as PDF
Download as PDF
Write us
Write us
Printable version
Printable version
 

RM1 Cortex-M1 implementation

This course covers the Cortex-M1 ARM core targetting FPGA SoCs


formateur
Objectives
bullet_jaune_1 This course is split into 3 important parts:
bullet_jaune_2 Processor architecture
bullet_jaune_2 Software implementation
bullet_jaune_2 Hardware implementation.
bullet_jaune_1 A tutorial has been developed by ACSYS to facilitate the understanding of Cortex-M1 low level programming, therefore labs can be replayed after the course.
bullet_jaune_1 The course explains how to design a SoC based on Cortex-M1, clarifying the operation of the interconnect and the debug facilities integrated in the CPU.
Labs can be run under 2 possible environments: Eclipse/RVDS or Keil IDE
For open courses, labs are run under Eclipse/RVDS.

A more detailed course description is available on request at info@ac6-training.com
Prerequisites
bullet_jaune_2 Knowledge of ARM7/9.
bullet_jaune_2 This course does not include chapters on low level programming.
bullet_jaune_3 ACSYS offers a large set of tutorials to become familiar with RVDS, assembly level programming, compiler hints and tips.
bullet_jaune_2 More than 12 correct answers to Cortex-R prerequisites questionnaire.

Outline
First day
ARM Cortex-M1 INTRODUCTION
bullet_jaune_2 Programmer's model
bullet_jaune_2 Fixed memory map
bullet_jaune_2 Privilege, modes and stacks
bullet_jaune_2 Memory Protection Unit
bullet_jaune_2 Interrupt handling
bullet_jaune_2 Nested Vectored Interrupt Controller [NVIC]
bullet_jaune_2 Power management
bullet_jaune_2 Debug
ARM Cortex-M1 CORE
bullet_jaune_2 Datapath and pipeline
bullet_jaune_2 Write buffer
bullet_jaune_2 Bit-banding
bullet_jaune_2 System timer
bullet_jaune_2 State, privilege and stacks
bullet_jaune_2 System control block
bullet_jaune_2 Different level of debug implementation
EXCEPTIONS
bullet_jaune_2 Exception behavior, exception return
bullet_jaune_2 Non-maskable exceptions
bullet_jaune_2 Privilege, modes and stacks
bullet_jaune_2 Fault escalation
bullet_jaune_2 Vector table
OVERVIEW OF THUMB-2 INSTRUCTION SET
bullet_jaune_2 Data processing instructions
bullet_jaune_2 Branch and control flow instructions
bullet_jaune_2 Memory access instructions
bullet_jaune_2 Exception generating instructions
bullet_jaune_2 If...then conditional blocks
bullet_jaune_2 Exclusive load and store instructions
bullet_jaune_2 Accessing special registers
bullet_jaune_2 Memory barriers and synchronization
Second day
INTERRUPTS
bullet_jaune_2 Interrupt entry / exit, timing diagrams
bullet_jaune_2 Tail chaining
bullet_jaune_2 Interrupt response, pre-emption
bullet_jaune_2 Interrupt prioritisation
bullet_jaune_2 Interrupt implementation configurability, impact on core size
MEMORY TYPES
bullet_jaune_2 Memory types, restriction regarding load / store multiple
bullet_jaune_2 Device and normal memory ordering
bullet_jaune_2 Access order
bullet_jaune_2 Memory barriers
INVASIVE DEBUG
bullet_jaune_2 Cortex-M1 debug features
bullet_jaune_2 Monitor mode
bullet_jaune_2 Flash patch and breakpoint features
bullet_jaune_2 Data watchpoint and trace
bullet_jaune_2 DWT registers
bullet_jaune_2 AHB-Access Port
INTEGRATION
bullet_jaune_2 Functional Integration
bullet_jaune_2 Clocking
bullet_jaune_2 Reset
bullet_jaune_2 AHD and Debug interfaces
bullet_jaune_2 Synthesis, Place and Route
bullet_jaune_2 Sign-Off
Third day
IMPLEMENTATION
bullet_jaune_2 Implementation flow
bullet_jaune_2 Configuration options
bullet_jaune_2 RTL Validation
bullet_jaune_2 Synthesis
bullet_jaune_2 Place and route
bullet_jaune_2 Qualification
AMBA3.0 INTERCONNECT SPECIFICATION
bullet_jaune_2 Purpose of this specification
bullet_jaune_2 Example of SoC based on AMBA specification
bullet_jaune_2 Differences between AMBA2.0 and AMBA3.0
AHB - ADVANCED HIGH PERFORMANCE BUS
bullet_jaune_2 Centralized address decoding
bullet_jaune_2 Address gating logic
bullet_jaune_2 Arbitration, bus parking
bullet_jaune_2 Single-data transactions
bullet_jaune_2 Sequential transfers
bullet_jaune_2 Retry response
bullet_jaune_2 Split response
bullet_jaune_2 AHB-lite specification
APB - ADVANCED PERIPHERAL BUS
bullet_jaune_2 Read timing diagram
bullet_jaune_2 Write timing diagram
bullet_jaune_2 Operation of the AHB-to-APB bridge
bullet_jaune_2 APB3.0 new features
AHB CORTEX-M1 PORTS
bullet_jaune_2 Clocking and reset
bullet_jaune_2 Bus interfaces , AMBA-3 compliance
bullet_jaune_2 Debug interface, AHB-AP programming interface
bullet_jaune_2 Connection to the TPIU