Armv8-M Architecture Fundamentals (Coursera)

Offered by Arm,
Armv8-M Architecture Fundamentals (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Course 2 of 4 in the Arm Cortex-M Architecture and Software Development Specialization.

What You Will Learn

  • 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.

Syllabus

WEEK 1
Course Introduction
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.
Programmers' Model
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.

WEEK 2
Assembly Programming
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.

WEEK 3
Memory Model
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.

WEEK 4
Memory Protection
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.

WEEK 5
Exception Handling
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Nov 2nd 2026
4 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Nov 2nd 2026
4 Weeks
Embedded Systems Essentials with Arm: Get Practical with Hardware (edX) EdX
Arm Education,ArmEducationX

Embedded Systems Essentials with Arm: Get Practical with Hardware (edX)

Spark your creativity with Arm. Level up your Embedded Systems skills by developing working embedded prototypes using the Mbed API and an Arm-based development board, and unlock the boundless opportunities of the Internet of Things. Embedded systems are the fundamental building blocks of our connected world, and Arm-based devices are the industry standard. This course will provide you with the practical skills and confidence to build your own embedded system using the popular and affordable ST Nucleo F401RE development board.

Self Paced
Self-Paced
Embedded Systems Essentials with Arm: Getting Started (edX) EdX
Arm Education,ArmEducationX

Embedded Systems Essentials with Arm: Getting Started (edX)

Get practical without hardware. Quickly prototype and build microcontroller projects using industry-standard APIs. Embedded systems are everywhere – and Arm-based technologies are the industry standard. Getting started could not be easier. This course includes free access to an Mbed simulator so you can apply your new knowledge and skills to prototype and build real-world embedded applications quickly, without the trouble or expense of sourcing hardware.

Self Paced
Self-Paced
Embedded Software and Hardware Architecture (Coursera) Coursera
University of Colorado Boulder

Embedded Software and Hardware Architecture (Coursera)

Embedded Software and Hardware Architecture is a first dive into understanding embedded architectures and writing software to manipulate this hardware. You will gain experience writing low-level firmware to directly interface hardware with highly efficient, readable and portable design practices. We will now transition from the Host Linux Machine where we built and ran code in a simulated environment to an Integrated Development Environment where you will build and install code directly on your ARM Cortex-M4 Microcontroller.

Oct 19th 2026
3 Weeks
Advanced Armv8-M Features (Coursera) Coursera
Arm

Advanced Armv8-M Features (Coursera)

The final course covers more advanced and optional features that might be configured in a Cortex-M system. These features could help with particular project requirements such as security and performance. Not all of these topics might be relevant for any given Cortex-M project, so feel free to pick and choose which topics, if any, apply to you.

Oct 12th 2026
5-12 Weeks
Getting Started with Puppet (Coursera) Coursera
Whizlabs

Getting Started with Puppet (Coursera)

The “Getting Started with Puppet” course is designed to help you gain knowledge of Puppet. You will learn Puppet overview with architecture and how to design, build PuppetDB, and also learn Puppet enterprise installation. Puppet is a software configuration management tool that includes its own declarative language to describe system configuration. It is a model-driven solution that requires limited programming knowledge to use. Puppet was created by Puppet Inc. founded by Luke Kanies in 2005.

Nov 2nd 2026
3 Weeks
Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera)

Decía Steve Jobs que “todo el mundo debería aprender a programar un ordenador porque esto te ayuda a pensar”. Hoy en día la programación es una herramienta fundamental para el desarrollo de la tecnología moderna. Este curso te introduce en el mundo de la programación en el lenguaje Python.

Nov 2nd 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
4 Weeks
Introduction to .NET Core (Coursera) Coursera
Board Infinity

Introduction to .NET Core (Coursera)

This course is an introductory-level course for software developers who want to learn the basics of developing applications with .NET Core. .NET Core is a cross-platform, open-source development platform that allows developers to create applications for Windows, Linux, and macOS. Throughout this course, students will learn the fundamental concepts of .NET Core, including its architecture, programming model, and tools. They will also learn how to create, build, and deploy applications using .NET Core.

Nov 2nd 2026
3 Weeks