Home /  Courses And Programs / Embedded Controller Programming for Real-Time Systems

Embedded Controller Programming for Real-Time Systems

This advanced programming course covers real-time event-driven applications with instant and reliable access to systems resources for embedded microcontrollers.
The design of complex electronic systems requires a firmware that will respond, within a given time, to a multitude of possible inputs, any of which may arrive at unpredictable times and in an unpredictable sequence. This problem is common in most of embedded systems. It is also very common in operating systems of modern computers.
In this class you will learn about: low-level microcontroller programming, hardware aspects, interrupt-driven programming, I/O interfacing, timers and signal conversion. The main purpose of this course is to demonstrate practical application of embedded controllers to actual event-driven system design, interrupts handling, and to tasks processing.

Course Highlights:

  • Introduction to Real Time Programming
  • Overview of ATmega328P microcontroller (hardware aspects)
  • ATmega328P’s Registers, Timers, ADC, USARTs
  • Interrupts, ISRs, Low-level Microcontroller Programming. Assembly Language for ATmega328
  • Using Hardware Interrupts
  • Timer Interrupts
  • SPI Communication with FRAM chip. Read, Write and other commands
  • Recording Analog Conversion Results from a Sensor into an FRAM Chip. Data Logger

Course Benefits:

  • Relate the ISRs (Interrupt Service Routines) to appropriate registers and modules of the ATmega family of microcontrollers
  • Write subroutines in assembly language for ATmega microcontrollers
  • Understand the design of firmware for event-driven programming
  • Gain hands-on experience designing and implementing Interrupt Service Routines in the project.      

Hardware: STM32L4 IoT Discover Kit for IoT Node. It can be purchased from STMicroelectronics or any other reputable electronics dealer. This microprocessor will be used in all four required courses in this program.

Course Typically Offered: Fall and Spring

Prerequisites: ECE-40291 Embedded Controller Programming with Embedded C or equivalent knowledge and experience.

Next Step: After completing this course, consider taking ECE-40290 Embedded Real-Time Operating System (RTOS) to continue learning.

Contact: For more information about this course, please email unexengr@ucsd.edu.

Course Number: ECE-40097
Credit: 3.00 unit(s)
Related Certificate Programs: Embedded Systems Engineering

+ Expand All