When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 6 modules in this course
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.
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.
What's included
1 video
Show info about module content
1 video•Total 3 minutes
Course Introduction•3 minutes
Programmers' Model
Module 2•4 hours to complete
Module details
This module is an essential foundation module for any Armv8-M Mainline implementation training course. It introduces the programmers model for the Armv8-M architecture.
What's included
16 videos6 readings1 assignment
Show info about module content
16 videos•Total 96 minutes
A Brief History of M-Profile Architecture•5 minutes
Core Registers: Stack Pointer, Link Register and Program Counter•9 minutes
Special-purpose registers part 1 •6 minutes
Special-purpose registers part 2 •6 minutes
Modes, Privilege and Stacks•7 minutes
Exceptions•3 minutes
Instruction Set Overview - Part 1•6 minutes
Instruction Set Overview - Part 2•5 minutes
Instruction Set Examples •9 minutes
Programming Standards•8 minutes
Programming Standards: CMSIS - Part 1•5 minutes
Programming Standards: CMSIS - Part 2•6 minutes
6 readings•Total 142 minutes
Programmers' Model Resources List•2 minutes
Challenge: Architecture Rules•10 minutes
Challenge: Programmers' Model Challenge: M-profile Architecture Implementations•30 minutes
Challenge: Create a basic Cortex-M application with CMSIS•60 minutes
Challenge: Familiarize yourself with CMSIS•30 minutes
Download Course Slides•10 minutes
1 assignment•Total 30 minutes
Programmers' Model•30 minutes
Assembly Programming
Module 3•3 hours to complete
Module details
This module is an essential foundation module for any Armv8-M Mainline implementation course. It introduces the syntax and functionality of the assembly instructions used on all Armv8-M processors, which is crucial for configuration and debugging.
What's included
22 videos2 readings1 assignment
Show info about module content
22 videos•Total 111 minutes
Introduction to Assembly Programming - Part 1•4 minutes
Introduction to Assembly Programming - Part 2•5 minutes
Introduction to Assembly Programming - Part 3•6 minutes
Introduction to Assembly Programming Quiz•4 minutes
Data Processing Instructions - Part 1•6 minutes
Data Processing Instructions - Part 2•3 minutes
Shift and Rotate Operations, Flexible Second Operand•7 minutes
Loading Constants into Registers•3 minutes
Multiply, Divide, and Bit Manipulation Instructions•6 minutes
Data Processing Instructions Quiz•3 minutes
Load/Store Instructions - Part 1•4 minutes
Load/Store Instructions - Part 2•8 minutes
Load/Store Instructions - Part 3•4 minutes
Load/Store Instructions Quiz•4 minutes
Flow Control Instructions - Part 1•5 minutes
Flow Control Instructions - Part 2•5 minutes
Flow Control Instructions Quiz•8 minutes
Miscellaneous Instructions - Part 1•7 minutes
Miscellaneous Instructions - Part 2•7 minutes
Miscellaneous Instructions Quiz•4 minutes
Arm Custom Instructions - Part 1•3 minutes
Arm Custom Instructions - Part 2•5 minutes
2 readings•Total 20 minutes
Assembly programming challenge•10 minutes
Download Course Slides•10 minutes
1 assignment•Total 30 minutes
Assembly Programming•30 minutes
Memory Model
Module 4•2 hours to complete
Module details
This module is an essential foundation module for any Armv8-M Mainline implementation training course. It introduces the memory model for the Armv8-M architecture.
What's included
11 videos2 readings1 assignment
Show info about module content
11 videos•Total 51 minutes
Memory Address Space - Part 1•6 minutes
Memory Address Space - Part 2•3 minutes
Memory Types•1 minute
Normal Memory - Part 1•6 minutes
Normal Memory - Part 2•6 minutes
Device Memory - Part 1•5 minutes
Device Memory - Part 2•6 minutes
Address Map•2 minutes
Endianness•3 minutes
Barriers•7 minutes
Barriers Examples•6 minutes
2 readings•Total 20 minutes
Armv8-M Mainline Memory Model Reference Material•10 minutes
Download Course Slides•10 minutes
1 assignment•Total 30 minutes
Memory Model•30 minutes
Memory Protection
Module 5•1 hour to complete
Module details
This is an optional module with the following learning objectives of describing the need for a Memory Protection Unit (MPU), understanding how the Armv8-M MPU differs to previous Armv7-M and Arm6-M MPUs, describing the different memory-mapped MPU registers, Configuring memory regions by programming the MPU registers, explaining how to optimise MPU programming.
What's included
8 videos1 reading1 assignment
Show info about module content
8 videos•Total 35 minutes
Memory Protection Introduction•4 minutes
Memory Protection Unit (MPU)•5 minutes
Memory Regions•4 minutes
MPU Registers - Part 1•5 minutes
MPU Registers - Part 2•5 minutes
MPU Configuration and Programming•4 minutes
Demo•5 minutes
Memory Management Fault Handling•2 minutes
1 reading•Total 10 minutes
Download Course Slides•10 minutes
1 assignment•Total 30 minutes
Memory Protection•30 minutes
Exception Handling
Module 6•4 hours to complete
Module details
This module is an essential foundation module for any Armv8-M Mainline implementation training course. It introduces the Exception Handling model for the Armv8-M architecture.
What's included
36 videos2 readings1 assignment
Show info about module content
36 videos•Total 161 minutes
Introduction to Exception Handling - Part 1•6 minutes
Introduction to Exception Handling - Part 2•8 minutes
Exception Types•3 minutes
Processor Mode Usage•8 minutes
External Interrupts & Pre-emption•3 minutes
Exception Handling Example•3 minutes
Exception Model & Properties•3 minutes
Vector Table for Armv8-M Mainline•8 minutes
Reset & Exception Behavior•2 minutes
Exception Priorities•5 minutes
Exception States•3 minutes
Exception Entry Behavior - Part 1•8 minutes
Exception Entry Behavior - Part 2•4 minutes
Stacking on Exception Entry - Part 1•5 minutes
Stacking on Exception Entry - Part 2•4 minutes
Exception Return Behavior•5 minutes
NMI Exception Entry and Return Examples•3 minutes
Nesting, Tail Chaining and Late-arriving Examples•6 minutes
Execution Priority & Priority Boosting•8 minutes
New Armv8-M Mainline Priority Grouping•8 minutes
Interrupt Control and Status Bits•7 minutes
Interrupt Sensitivity•2 minutes
Pulse-sensitive Interrupts•4 minutes
Level-sensitive Interrupts & Pending the Interrupt Again•5 minutes
Arm technology is defining the future of computing. Our energy-efficient processor designs and software platforms have enabled advanced computing in more than 225 billion chips and our technologies securely power products from the sensor to the smartphone and the supercomputer.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.