Home /  Courses And Programs / Embedded Controller Programming III: 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:
By the end of this course, the student will be able to:
  • 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.
Software:
You will need a Windows-based computer (Vista to Win-10) with Arduino and Atmel Studio IDE, which can be downloaded from the Internet for free.           
 
Prerequisites:
Successful completion of Embedded Controller Programming I: Introduction (ECE-40084) and Embedded Controller Programming II: Embedded C (ECE-40091)
           
Course Considerations:
The same Arduino Board, which was used during ECP-I and ECP-II, can be used in this course. In addition, an FRAM shield from Cypress should be bought.
 
The course materials are based on Windows-7, Arduino 1.8.3 IDE, and Atmel Studio 7.
Students that have taken this course may be interested in courses in: For more information about this course, please contact the program manager at Infotech@ucsd.edu or (858) 534-9351
 


  • COURSE NUMBER  ECE-40097
  • CREDIT  3.00 unit(s)


Popular in Embedded Engineering

course

FPGA Embedded Design

Read More
certificate

Embedded Computer Software

Read More
course

FPGA Design Fundamentals

Read More
course

Embedded Systems for Robotics

Read More
course

Embedded Controller Hardware Design

Read More
course

Embedded Computer Hardware Interfacing

Read More
category

Embedded Engineering

Read More
course

Embedded Linux

Read More
certificate

Embedded Computer Engineering

Read More
course

Embedded RTOS

Read More
course

Embedded Controller Programming I: Introduction

Read More
course

Introduction to Embedded Systems

Read More