Cortex-M Software Development Fundamentals (Coursera)

Offered by Arm,
Cortex-M Software Development Fundamentals (Coursera)

This course delves into software development topics such as working with Arm C/C++ compilers and Arm debug tools to optimize your software, whether it's for performance or code size. This course also looks more closely at the Common Microcontroller Software Interface Standard and how it helps ensure that software targeted at Cortex-M devices can be written using a consistent approach.

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

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

What You Will Learn

  • Compile and link Cortex-M applications using mandatory, recommended and commonly-used switches.
  • Debug and trace a Cortex-M application running on a Cortex-M device.
  • Boot and initialize a Cortex-M system using standard programming techniques.

Syllabus

WEEK 1
Course Introduction
This course delves into software development topics such as working with Arm C/C++ compilers and Arm debug tools to optimize your software, whether it's for performance or code size. This course also looks more closely at the Common Microcontroller Software Interface Standard and how it helps ensure that software targeted at Cortex-M devices can be written using a consistent approach.This module describes the essential compiler and linker options required in order to develop applications targeted at different Arm embedded systems. The presentation includes information about Arm Compiler for Embedded and the GNU toolchain.
Compiler & Linker Fundamentals

WEEK 2
Debug & Trace
This module describes the debug and trace features available in the Armv8-M Mainline architecture.

WEEK 3
Booting & Initialisation
The Booting and Initialization module takes you through essential startup code that can ensure that the processor and system are configured and initialised appropriately before the 'main' function is reached in the C program.

WEEK 4
Cortex-M Walkthrough
This module introduces Tarmac trace from Fast Models, and uses that to walk through everything a Cortex-M3 device would do if used with CMSIS code from Reset to the main() function, to triggering an interrupt using the NVIC. Although the module is related to a Cortex-M3 device, the details presented also apply to any Armv7-M / Armv8-M device, acting as a recap of all the content covered in this M-profile course.

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

Related Courses

Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Nov 23rd 2026
4 Weeks
Service-Oriented Architecture (Coursera) Coursera
University of Alberta

Service-Oriented Architecture (Coursera)

Based on an understanding of architectural styles, you will review architectures for web applications, then explore the basics of Service-Oriented Architecture (SOA) in two approaches: Web Services (WS*) and Representational State Transfer (REST) architecture. In the Capstone Project you will connect a Java-based Android application with Elasticsearch, a web service with a REST application programmer interface (API).

Nov 16th 2026
4 Weeks
Software Architecture for the Internet of Things (Coursera) Coursera
EIT Digital

Software Architecture for the Internet of Things (Coursera)

This course will teach you how to design futureproof systems that meet the requirements of IoT systems: systems that are secure, interoperable, modifiable and scalable. Moreover, you'll learn to apply best-in-class software architecture methods to help you design complex IoT and other applications. Lastly, you'll come to understand the business impact of the technical decisions that you make as an IoT system architect.

Nov 23rd 2026
5-12 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Nov 23rd 2026
5-12 Weeks
Database Management Essentials (Coursera) Coursera
University of Colorado System

Database Management Essentials (Coursera)

Database Management Essentials provides the foundation you need for a career in database development, data warehousing, or business intelligence, as well as for the entire Data Warehousing for Business Intelligence specialization. In this course, you will create relational databases, write SQL statements to extract information to satisfy business reporting requests, create entity relationship diagrams (ERDs) to design databases, and analyze table designs for excessive redundancy.

Nov 16th 2026
5-12 Weeks
Software Architecture (Coursera) Coursera
University of Alberta

Software Architecture (Coursera)

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.

Nov 16th 2026
4 Weeks
Python Data Representations (Coursera) Coursera
Rice University

Python Data Representations (Coursera)

This course will continue the introduction to Python programming that started with Python Programming Essentials. We'll learn about different data representations, including strings, lists, and tuples, that form the core of all Python programs. We will also teach you how to access files, which will allow you to store and retrieve data within your programs. These concepts and skills will help you to manipulate data and write more complex Python programs.

Nov 16th 2026
4 Weeks
Quantitative Model Checking (Coursera) Coursera
EIT Digital

Quantitative Model Checking (Coursera)

The integration of ICT (information and communications technology) in different applications is rapidly increasing in e.g. Embedded and Cyber physical systems, Communication protocols and Transportation systems. Hence, their reliability and dependability increasingly depends on software. Defects can be fatal and extremely costly (with regards to mass-production of products and safety-critical systems).

Nov 30th 2026
5-12 Weeks
Avatar Psychology for Designers (Coursera) Coursera
Michigan State University

Avatar Psychology for Designers (Coursera)

This course covers the latest and greatest psychological research on avatars and is relevant to current and future designers of any medium that includes user self-representations (e.g., video games, virtual worlds, robots, automobiles, social media, etc.). By taking this course, you will be able to define digital and non-digital avatars and identify how they are applicable in everyday life.

Nov 23rd 2026
4 Weeks
Capstone: Autonomous Runway Detection for IoT (Coursera) Coursera
EIT Digital

Capstone: Autonomous Runway Detection for IoT (Coursera)

The students will develop a larger system using the learning outcomes from these courses, and the students will evaluate the developed system in a real-world programming environment. This course is a true engineering task in which the student must, not only implement the algorithm code, but also handle the interfaces between many different actors and hardware platforms.

Nov 30th 2026
3 Weeks
SRS Documents: Requirements and Diagrammatic Notations (Coursera) Coursera
University of Colorado System

SRS Documents: Requirements and Diagrammatic Notations (Coursera)

As requirements are being gathered and prioritized, they also need to be documented. In Diagrammatic Notations and Software Requirements Specification Writing, we discuss and practice the process of turning requirements into something readable to the customers at a high level, and the developers. When a designer or developer reads your document, they should be able to understand the overall idea, the scope, the domain, the resources, the expectations, and why alternative choices are not selected. To create a document in this way, you use a balance between storytelling (with pictures!) and complex diagrams.

Nov 16th 2026
5-12 Weeks
Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera) Coursera
University of California, San Diego

Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera)

Do you want to develop skills to prototype mobile-enabled products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC).

Nov 16th 2026
5-12 Weeks