CS 04 601: Embedded Systems
 

Home

CS 04 601: Embedded Systems

Course Instructor : Zainul Abid T P

Synopsis

Objective of the course is to teach students about architecture, hardware and software elements, programming models and practices and tools for embedded system design and implementation.
Students are encouraged to preview the course materials before lectures.

Syllabus

Module 1
Introduction: Definitions and Classification - Processors in the system - Other h/w units. Software components and typical applications - Embedded systems on a chip (SoC) and use of VLSI circuits.
 
 Module 2
Hardware organization: Structured units of a processor - Processor selection factors. Common memory devices - Memory selection - Memory map - Internal devices & I/O devices map - Direct memory access - Interfacing the above.
Types of I/O devices - Serial devices - Parallel port devices - Sophisticated features - Timer and Counting devices - Advanced serial bus & I/O - High speed Buses - Common types - Advanced Buses.
 
 Module 3
Programming: Compiling, cross-compiling - Optimized use of memory - Use of DFG for program analysis - Control Data Flow graph - Use of finite state machines model - Use of Petrinet models - Use of Petri table for Real time programming - Issues in multiprocessor systems.
Real time programming issues during software development process - Distinction between functions, ISR and tasks - Problems of sharing data in RTOS – Inter-process communication in RTOS.
Device drivers - Parallel port driver - Driver for internal programmable timing devices - Interrupt servicing mechanism - Context and periods for context switching - Deadline and Interrupt latency.
 
 Module 4
Real Time Operating Systems: Typical OS structure - RTOS structure - The context of its use - Schedule management for multiple tasks - Scheduling in real time - Interrupt routines in RTOS environment - RTOS task scheduling models - List of basic actions in pre-emptive scheduler and expected time taken - Strategy for synchronization - Discussion using Linux - OS securities issues - Mobile OS.
Case study of RTOS using MUCOS. Case study for RTOS based programming - Coding for Automatic Chocolate vending machine using MUCOS.

Course Reading

Embedded systems - architecture, programming and design,Raj Kamal, Tata McGraw-Hill
2. Design with Microcontrollers and Microcomputers,J.B. Peatman, McGraw-hill

Lecture Notes

Actual lecture content may vary as the instruction progresses. Check this page often, as there may be slight modifications.

Lecture 1 : Introduction to embedded systems and classification [1 hour]
Lecture 2 : Processors and software cmponents [2 hours]
Lecture 3 : System on a chip (SOC) and use of VLSI circuits [2 hours]
Lecture 4 : Structured units of a processor and selection factors [2 hours]
Lecture 5 : Memory Selection and memory map [2 hours] (pdf)
Lecture 6 : Different types of I/O devices and features [2 hours]
Lecture 7 : Timers and Counting devices, High speed buses [2 hours]
Lecture 8 : Embedded systems programming basics [2 hours]
Lecture 9 :Real time programming issues during software devewlopment[3 hours ]
Lecture 10 : Device drivers and Interrupt servicing mechanism [3 hours]
Lecture 11 :RTOS basics and structure [2 hours]
Lecture 12 : Scheduling in real time [2 hours]
Lecture 13 :Interrupt routines in RTOS environment [2 hour]
Lecture 14 :Synchronization strategies, security issues and mobile OS [3 hours]

Assignment Questions

Assignment 1:Case study of automatic vending machine
Assignment 2:Case study of RTOS using MUCOS (Carries 15% of total Weightage).

Tests

Test 1 : Carries 10% of total Weightage.Covers the following:- Lecture 1 & 2.
Test 2 : Carries 25% of total Weightage.Covers the following:- Lecture 3 to 8.
Test 3 : Carries 25% of total Weightage.Covers the following:- Lecture 9 to 14.

Grading

Assignments : 30 %
Tests : 60 % 
Regularity : 10%