- Level Professional
- المدة 14 ساعات hours
- الطبع بواسطة Arm
-
Offered by
عن
The course includes fundamental architecture topics that are key to understanding how any Cortex-M processor functions internally. The course focuses specifically on the Armv8-M version of the Arm Architecture, which processors like the Cortex-M33 and Cortex-M55 are based on. However, even if you're working with older processors based on earlier versions of the architecture, like Armv6-M or Armv7-M, a lot of the information is mostly still very relevant and useful.الوحدات
Introduction
1
Videos
- Course Introduction
Armv8-M Mainline Programmers' Model Overview
3
Videos
- A Brief History of M-Profile Architecture
- Armv8-M Profile Overview - Part 1
- Armv8-M Profile Overview - Part 2
Data Types
1
Videos
- Data Types
Core Registers
4
Videos
- Core Registers: Armv8-M Mainline Registers
- Core Registers: Stack Pointer, Link Register and Program Counter
- Special-purpose registers part 1
- Special-purpose registers part 2
Modes, Privilege and Stacks
1
Videos
- Modes, Privilege and Stacks
Exceptions
1
Videos
- Exceptions
Instruction Set Overview
3
Videos
- Instruction Set Overview - Part 1
- Instruction Set Overview - Part 2
- Instruction Set Examples
Programming Standards
1
Assignment
- Programmers' Model
3
Videos
- Programming Standards
- Programming Standards: CMSIS - Part 1
- Programming Standards: CMSIS - Part 2
6
Readings
- Programmers' Model Resources List
- Challenge: Architecture Rules
- Challenge: Programmers' Model Challenge: M-profile Architecture Implementations
- Challenge: Create a basic Cortex-M application with CMSIS
- Challenge: Familiarize yourself with CMSIS
- Download Course Slides
Introduction to Assembly Programming
4
Videos
- Introduction to Assembly Programming - Part 1
- Introduction to Assembly Programming - Part 2
- Introduction to Assembly Programming - Part 3
- Introduction to Assembly Programming Quiz
Data Processing Instructions
6
Videos
- Data Processing Instructions - Part 1
- Data Processing Instructions - Part 2
- Shift and Rotate Operations, Flexible Second Operand
- Loading Constants into Registers
- Multiply, Divide, and Bit Manipulation Instructions
- Data Processing Instructions Quiz
Load/Store Instructions
4
Videos
- Load/Store Instructions - Part 1
- Load/Store Instructions - Part 2
- Load/Store Instructions - Part 3
- Load/Store Instructions Quiz
Flow Control Instructions
3
Videos
- Flow Control Instructions - Part 1
- Flow Control Instructions - Part 2
- Flow Control Instructions Quiz
Miscellaneous Instructions
3
Videos
- Miscellaneous Instructions - Part 1
- Miscellaneous Instructions - Part 2
- Miscellaneous Instructions Quiz
Arm Custom Instructions
1
Assignment
- Assembly Programming
2
Videos
- Arm Custom Instructions - Part 1
- Arm Custom Instructions - Part 2
2
Readings
- Assembly programming challenge
- Download Course Slides
Armv8-M Mainline Memory Model Overview
9
Videos
- Memory Address Space - Part 1
- Memory Address Space - Part 2
- Memory Types
- Normal Memory - Part 1
- Normal Memory - Part 2
- Device Memory - Part 1
- Device Memory - Part 2
- Address Map
- Endianness
Barriers
1
Assignment
- Memory Model
2
Videos
- Barriers
- Barriers Examples
2
Readings
- Armv8-M Mainline Memory Model Reference Material
- Download Course Slides
Armv8-M Mainline Memory Protection Overview
1
Assignment
- Memory Protection
8
Videos
- Memory Protection Introduction
- Memory Protection Unit (MPU)
- Memory Regions
- MPU Registers - Part 1
- MPU Registers - Part 2
- MPU Configuration and Programming
- Demo
- Memory Management Fault Handling
1
Readings
- Download Course Slides
Introduction to Exception Handling
2
Videos
- Introduction to Exception Handling - Part 1
- Introduction to Exception Handling - Part 2
Exception Model
9
Videos
- Exception Types
- Processor Mode Usage
- External Interrupts & Pre-emption
- Exception Handling Example
- Exception Model & Properties
- Vector Table for Armv8-M Mainline
- Reset & Exception Behavior
- Exception Priorities
- Exception States
Exception Model: Entry and Exit Behavior
7
Videos
- Exception Entry Behavior - Part 1
- Exception Entry Behavior - Part 2
- Stacking on Exception Entry - Part 1
- Stacking on Exception Entry - Part 2
- Exception Return Behavior
- NMI Exception Entry and Return Examples
- Nesting, Tail Chaining and Late-arriving Examples
Exception Mode: Prioritization and Control
3
Videos
- Execution Priority & Priority Boosting
- New Armv8-M Mainline Priority Grouping
- Interrupt Control and Status Bits
Exception Model: Interrupt Sensitivity
3
Videos
- Interrupt Sensitivity
- Pulse-sensitive Interrupts
- Level-sensitive Interrupts & Pending the Interrupt Again
Writing the Vector Table and Interrupt Handlers
3
Videos
- CMSIS-Core: Vector Table
- Writing Interrupt Handlers
- Interrupt Management
Internal Exceptions and RTOS Support
3
Videos
- Internal Exceptions - Part 1
- Internal Exceptions - Part 2
- Priority Escalation & Internal Interrupt Registers
Fault Exceptions
1
Assignment
- Exception Handling
6
Videos
- Fault Exceptions
- Fault Escalation & Fault Handling
- The Lockup State
- Synchronous and Asynchronous Exceptions
- References
- Congratulations
2
Readings
- Armv8-M Mainline Exception Handling Reference Material
- Download Course Slides
Auto Summary
Discover the core principles of Armv8-M architecture in this professional-level course by Coursera. Ideal for IT and Computer Science enthusiasts, it delves into the internal workings of Cortex-M processors like the Cortex-M33 and Cortex-M55. With a duration of 840 minutes, the course remains relevant for those working with older architectures such as Armv6-M and Armv7-M. Available through a Starter subscription, it's perfect for professionals aiming to deepen their understanding of processor architecture.

Shirley Zou

Nick Tompkins

Yang Song

Peter Rielly

Matt Rushton

Edmund Player

Graham Cunningham

Salman Arif