Introduction to Embedded Systems Software and Development Environments (Coursera)

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

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

The course concludes with a project where you will create your own build system and firmware that can manipulate memory. The second course in this 2 course series , Embedded Software and Hardware Architecture, will use hardware tools to program and debug microcontrollers with bare-metal firmware. Using a Texas Instruments MSP432 Development Kit, you will configure a variety of peripherals, write numerous programs, and see your work execute on your own embedded platform!

Syllabus

WEEK 1
Embedded System Development Components
Module 1 will introduce the learner to the components of your embedded system software development process. This module will be a quick overview for many topics with detailed analysis to follow in later modules and courses. We start with defining the hardware and software building blocks of Embedded Systems which will include a C-programming refresher. Next you will learn about the important tools a developer will need to use to help design, build and manage their designs. This includes development environments, version control and the hardware kits to install on. Learners will install and use a Virtual machine to complete Week 1 Application Assignment.

WEEK 2
Compilation with GCC and GNU Make
Module 2 will introduce the learner to the software development build system. Most software engineers are very knowledgeable about their build system as we need them to translate our high-level software languages to our architecture specific implementations. There are some important platform and architecture concepts that are introduced in the build system to help enforce good software design techniques. Learners will create their own build systems and utilize build tools to analyze their embedded software implementations.

WEEK 3
Memory Types, Segments and Management
Module 3 will begin to introduce important embedded concepts like the memory systems in their design. Learners will understand how the software to hardware mapping occurs for their designs including differentiating between your program code and your program data. Memory systems have many platform and architecture dependencies, and you will begin to learn about some of the fundamental concepts a software engineer needs to know to utilize all parts of an embedded system’s memory.

WEEK 4
Course 1 Final Assessment
During this week you are to going to combine what you have learned in modules 1-3 to write some memory manipulation software, incorporate into your build system and then run some test functions. At the end of the assignment you will perform a detailed code review of other learners’ software. Reviewing other learners code is very important for both your growth of software design but also for the coder to gain valuable feedback. Professional software engineering regularly go through software reviews when developing code.

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

Related Courses

Fundamentos do Suporte Técnico (Coursera) Coursera
Google

Fundamentos do Suporte Técnico (Coursera)

Ele é o primeiro de uma série que visa prepará-lo para entrar no mercado de TI como especialista de suporte técnico. Neste curso, apresentaremos o mundo da Tecnologia da Informação, ou TI. Você aprenderá sobre diversas facetas da Tecnologia da Informação, como hardware, software, internet, resolução de problemas e atendimento ao cliente. Mostraremos como uma entrevista técnica costuma transcorrer e daremos dicas de como se preparar melhor para esse tipo de ocasião.

Nov 2nd 2026
5-12 Weeks
Tools of the Trade: Linux and SQL (Coursera) Coursera
Google

Tools of the Trade: Linux and SQL (Coursera)

This is the fourth course in the Google Cybersecurity Certificate. These courses will equip you with the skills you need to apply for an entry-level cybersecurity job. You’ll build on your understanding of the topics that were introduced in the third Google Cybersecurity Certificate course. In this course, you will explore computing skills that you’ll use on-the-job as a cybersecurity analyst.

Nov 2nd 2026
4 Weeks
Cloud Computing Foundations (Coursera) Coursera
Duke University

Cloud Computing Foundations (Coursera)

Welcome to the first course in the Cloud Data Analysis at Scale Specialization! In this course, you will learn how to build foundational Cloud computing infrastructure, including websites involving serverless technology and virtual machines. You will also learn how to apply Agile software development techniques to projects which will be useful in building portfolio projects and global-scale Cloud infrastructures.

Nov 2nd 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Nov 9th 2026
5-12 Weeks
Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure (Coursera)

Welcome to the Cloud Computing Applications course, the first part of a two-course series designed to give you a comprehensive view on the world of Cloud Computing and Big Data! In this first course we cover a multitude of technologies that comprise the modern concept of cloud computing. Cloud computing is an information technology revolution that has just started to impact many enterprise computing systems in major ways, and it will change the face of computing in the years to come.

Nov 2nd 2026
4 Weeks
Embedded Hardware and Operating Systems (Coursera) Coursera
EIT Digital

Embedded Hardware and Operating Systems (Coursera)

This course is intended for the Bachelor and Master's students, who like practical programming and making IoTs applications! In this course we will talk about two components of a cyber physical system, namely hardware and operating systems. After completing this course, you will have the knowledge of both hardware components and operating systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things (cyber physical system) applications.

Nov 16th 2026
4 Weeks
Linux on LinuxONE (Coursera) Coursera
IBM

Linux on LinuxONE (Coursera)

This course is for Linux Systems Administrators, Architects and Developers who are already familiar with Linux components and everyday tasks, but need a primer on how to best take advantage of the LinuxONE platform. This includes working with the hardware, software, facilities, and processes unique to LinuxONE. It is comprised of videos, links to online resources, and a final test for a badge.

Nov 9th 2026
5-12 Weeks
Linux Cloud and DevOps (Coursera) Coursera
LearnQuest

Linux Cloud and DevOps (Coursera)

In this course, we look at Cloud, DevOps and the Linux operating system. The course material is a good for anyone preparing for the Linux Foundation Certified IT Associate (LFCA) exam or just interested in learning more about Linux. This course is the fourth course in a series that aims to prepare you for working as an information technology professional.

Nov 2nd 2026
4 Weeks
Linux Server Management and Security (Coursera) Coursera
University of Colorado System

Linux Server Management and Security (Coursera)

Whether you are accessing a bank website, Netflix or your home router, chances are that your computer is interacting with a Linux system. The world runs on Linux. In this course, we will dive into how Linux works from an enterprise perspective. In week 1 we will look at what Linux is used for in the enterprise. By the end of week 1, you will be able to differentiate between different versions of Linux and understand how they are used in an enterprise environment. In week 2, we will explore how Linux systems are configured.

Nov 2nd 2026
5-12 Weeks
Azure Infrastructure Fundamentals (Coursera) Coursera
LearnQuest

Azure Infrastructure Fundamentals (Coursera)

Microsoft Azure is a service created by Microsoft to provide cloud computing for creating and managing applications and services using a cloud environment. Azure provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS). The platform supports many programming languages and frameworks and can be used alone or in a multi-vendor cloud environment.

Nov 9th 2026
5-12 Weeks