Embedded Systems Programming: Getting Started

This course offers microcontroller programming for beginners, as well as experienced mobile and desktop software developers. It is built around a mobile device accessory project to measure bicycle speed and distance.
Course info
Level
Beginner
Updated
Nov 28, 2017
Duration
3h 7m
Table of contents
Time to Get Organized: The Big Picture
Remember to Stay in Sync: Memory Limitations and Clocking
Digital Peripherals for Binary Signals
Analog Peripherals so Your Numbers Won’t Get Lonely
Constant Interruptions Are Not a Problem
Power Saving and Bug Busting
Refactoring and Architecting
Course Overview
Description
Course info
Level
Beginner
Updated
Nov 28, 2017
Duration
3h 7m
Description

An understanding of the limitations of embedded processors is essential for embedded software developers. In Embedded Systems Programming: Getting Started, you’ll learn the essential skills for reading and writing I/O lines, configuring peripherals such as analog and digital converters, counter/timer modules, and the serial interface or UART. First, you'll discover how to configure the clock system of the processor to balance performance and power consumption. Later, you'll explore digital and analog inputs and outputs, and write interrupt service routines to handle real-time tasks quickly. Finally, you’ll delve into the basics of powerful debugging tools by putting the processor to sleep to extend the battery life of the system, and ultimately learn to refactor and organize your code. By the end of this course, you'll have the fundamental skills necessary for embedded firmware development, helping you design and build products of your own.

About the author
About the author

Jeremy Willden has gone from hardware engineering to software development, his career ranged from the smallest startups to multinational corporations, creating products to give a competitive edge and fuel rapid growth.

More from the author
LabVIEW™: Big Picture
Beginner
1h 48m
Apr 11, 2019
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Jeremy Willden. Welcome to my course, Embedded Systems Programming: Getting Started. I'm an Embedded Systems Developer with Constellation Labs. Did you know that microcontrollers, the tiny chips that run everything from your dishwasher to aircraft control systems, outnumber computer and mobile processors by a longshot? You can learn how to program these tiny, cheap, low-power computers. In this course, you'll learn essential programming techniques for embedded systems. Some of the major topics that we will cover include analog and digital input and output to interact with the real world, running the processor at high speed for high performance and stopping it completely to save power, debugging techniques so you can see exactly what's going on in the entire chip, refactoring and architecting your code to make it more reusable, maintainable, and extensible. By the end of this course, you'll understand the key principles of microcontroller programming having completed a practical, hands-on project. Before beginning the course, you should be familiar with programming in at least one language. From here, you should feel comfortable diving into embedded systems programming with courses on embedded C++, real-time operating systems, MISRA coding standards for high-reliability systems, energy harvesting and ultra-low power development, and developing for the Arduino and Raspberry Pi platforms. I hope you'll join me on this journey to learn how to sense, control, and automate the world around you with the course, Embedded Systems Programming: Getting Started, at Pluralsight.