Fundamentals of Embedded & Real-Time Systems


Course Details

About this Course

In the first course, you'll build foundational knowledge, core development skills and the practices needed to develop programs for embedded and real-time systems. We'll provide code examples during instruction with the goal of helping you develop a complete bare-metal program by the end of the course. You'll gain hands-on experience in embedded programming and debugging techniques using a hardware with JTAG-based debug interface. The languages for the course are C and ARM assembly.

What You'll Learn

  • Introductory computer architecture and hardware concepts from a software perspective
  • Number systems, computer math­­ and Boolean algebra
  • How to work with memory access, ports, I/O, peripherals, and timers and clocks
  • The popular ARM architecture 
  • ARM assembly essentials
  • How to use the integrated development environment (IDE) for embedded systems
  • How software interacts with hardware using registers and I/O
  • What interrupts are and why they’re used and how to write and debug interrupt service routines 

Students must purchase a development kit for this course. See the cost details section of the certificate page for more information.

Program Overview

This course is part of the Certificate in Embedded & Real-Time Systems Programming .