Embedded Controller Programming for Real-Time Systems
ECE-40097
This advanced embedded 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 STM32L475 microcontroller (hardware aspects)
- STM32L475 microcontroller Registers, Timers
- Interrupts, ISRs, Low-level Microcontroller Programming. Assembly Language for STM32L475 microcontroller
- Using Hardware Interrupts
- Timer Interrupts
Course Learning Outcomes:
- Relate the ISRs (Interrupt Service Routines) to appropriate registers and modules of the STM32L475 family of microcontrollers
- Write subroutines in assembly language for STM32L475 microcontroller
- Understand the design of firmware for event-driven programming
- Gain hands-on experience designing and implementing Interrupt Service Routines in the project
Hardware: STM32 IOT Discovery Node 915MHZ - Mfg. Part # B-L475E-IOT01A. Part can be purchased from MOUSER Electronics or Digi-Key Electronics or any other reputable electronics dealer. This microcontroller is used in all four required courses in this program.
Software: STM32CubeIDE (latest version) Integrated Development Environment for STM32 available through STMicroelectronics.
Course Typically Offered: Online in Winter and Summer quarters.
Prerequisites: ECE-40292 Embedded Systems Hardware Design and 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 Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C 4th
by Dr. Yifeng Zhu
ISBN / ASIN: 9780982692677
You may purchase textbooks via the UC San Diego Bookstore.
Policies:
- No refunds after: 1/13/2025