Skip to main content

Sem 1 Course Handouts

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
Digital Learning
Part A: Course Design
Course Title
Embedded System Design
Course No(s)
EEE ZG512/ ES ZG512
Credit Units
4
Credit Model
1-1-2



Course Description
Introduction to embedded systems; embedded architectures; Architectures and programming of microcontrollers and DSPs; Embedded applications and technologies; power issues in system design; introduction to software and hardware co-design.
Scope and Objective of the course
The course covers the design issues involved in embedded systems and system-on-chip technologies. The course also deals with the applications and programming languages used for embedded systems.

Course Objectives
No
Course Objective
CO1
Introduce Hardware  and Software Components of Embedded Systems
CO2
Introduce the challenges in system design and develop system design skills
CO3
Develop basic programming skills required for designing Embedded systems
CO4
Introduction to advanced topics of research in the field of Embedded Systems

Text Book(s)
T1
Wolf, Wayne, Computers as Components – Principles of Embedded Computing System Design, Second Edition,  Morgan-Kaufmann, 2010.

Reference Book(s) & other resources
R1
James.K.Peckol, Embedded System Design – A Contemporary  Design Tool, Wiley Student Edition, 2010
R2
Steve Furber, ARM System-on-chip Architecture, Second Edition, Pearson, 2007
R3
The Unified Modeling Language Reference Manual, by James Rumbaugh, Ivar Jacobson, Grady Booch, Addison-Wesley, 1999
R4
P. A. Laplante & S. J. Ovaska, Real-Time Systems Design and Analysis: Tools for the Practitioner, Wiley, 4th edition
R5
Kamal, Raj, Embedded Systems: Architecture, Programming & Design, Tata McGraw Hill, 2nd Ed., 2008
R6
The Definitive Guide to ARM Cortex M3/M4 Processors. Third Edition. Joseph Yiu
R7
Reference Manuals/ Published Papers
a)8051 Microcontroller- Hardware Manual
b)8051RE2 Reference  Manual
c)ARM CPU Reference Manual
d)LPC 23xx Reference Manual
e)TI DSP 64xx Manual
Note : Required manual and reference papers will be uploaded on course website .

Content Structure
       1.            Introduction to Embedded System
                         1.1.            Introduction
                                            1.1.1.            Characteristics and Embodiments of Embedded System
                                            1.1.2.            Classification of Embedded Systems
                                            1.1.3.            Introduction to Hardware and Software components of an Embedded System
                         1.2.            Hardware Components of Embedded System
                                            1.2.1.            Introduction to Processor Architectures
                                            1.2.2.            Memory Types Organization, Cache
                                            1.2.3.            Interrupts
                                            1.2.4.            Basic peripherals like Timers , ADC/DAC
                         1.3.            Software components of Embedded System
                                            1.3.1.            RTOS & Tasks
                                            1.3.2.            Introduction to SOC design, Embedded System Design Process/Flow

       2.            Small Scale Embedded System Design
                         2.1.            Problem Specification
                                            2.1.1.            User and System Design Requirements
                                            2.1.2.            System Block Diagram Development
                                            2.1.3.            Selection of Hardware and Software – Considerations
                                            2.1.4.            Hardware/Software design &  Testing Considerations
                                            2.1.5.            Final System Design
       3.            Embedded Architecture 1 – RISC ARM Architecture
                         3.1.            Introduction to ARM CPU Architecture
                         3.2.            Programmers Model of ARM CPU
                                            3.2.1.            Register Organization
                                            3.2.2.            Operating Modes
                                            3.2.3.            Pipelining
                                            3.2.4.            ARM Exception Handling
                         3.3.            ARM Instruction Set
       4.            Embedded Architecture 2 –ARM Based Microcontrollers
                         4.1.            Introduction to LPC23xx
                                            4.1.1.            AMBA Bus Architecture
                                            4.1.2.            GPIO, Timer, Watch dog
                                            4.1.3.            Interrupt Handling -VIC , ADC/DAC
                                            4.1.4.            DMAC
                         4.2.            Communication Peripherals- Synchronous & Asynchronous
                                            4.2.1.            SPI , I2C , I2S , UART
                                            4.2.2.            CAN
                                            4.2.3.            USB
                         4.3.            Introduction to ARM Cortex Architectures
                                            4.3.1.            ARM Cortex-M Architecture
                                            4.3.2.            Board Design - System Booting related Concepts
       5.            Embedded Architecture 3 –DSP Processors
                         5.1.            Introduction to VLIW & DSP architectures
                                            5.1.1.            Fixed and Floating point Datapath /DSP including Numeric Representation
                                            5.1.2.            DSP Architectures - Characteristics
                         5.2.            TMS 64X+ CPU Architecture –Addressing Modes
                                            5.2.1.            TMS 64X+ CPU Introduction
                                            5.2.2.            Computational Unit
                                            5.2.3.            Instruction Set
                         5.3.            TMS 6455 Programmers Model
                                            5.3.1.            Modes of Operation
                                            5.3.2.            Exceptions, Interrupts
       6.            Distributed and Multiprocessor based System Design
                         6.1.            Introduction to Multiprocessor , Distributed and Networked Embedded Systems
                         6.2.            Case Studies – Distributed and Multiprocessor Systems
       7.            Embedded Software Design
                         7.1.            System Modeling 
                                            7.1.1.            Hardware software partitioning
                                            7.1.2.            System Modeling using UML
                         7.2.            Compilers, Assemblers and Debuggers for Embedded Sytems
                         7.3.            Embedded C Programming
                                            7.3.1.            Memory Management , Shared Memory
                                            7.3.2.            System Initialization
       8.            Embedded Software
                         8.1.                                    Tasks & Task management , Context Switching
                         8.2.            RTS –Task Scheduling Concepts , Semaphore, Mutex, Deadlocks
                         8.3.            Multitasking using ARM Cortex M Architectures – Introduction to RTOS Design
       9.            Advanced Embedded System Concepts
                         9.1.            Performance Analysis and Optimization
                         9.2.            Accelerated Embedded System
                         9.3.            Fault Tolerance and Reliability

Part B: Contact Session Plan

Academic Term
Second Semester 2016-2017
Course Title
Embedded System Design
Course No
EEE ZG512/ES ZG512
Content Developer
Meetha V Shenoy

Glossary of Terms:
1.       Contact Hour (CH) stands for a hour long live session with students conducted either in a physical classroom or enabled through technology. In this model of instruction, instructor led sessions will be for 20 CH.
a.       Pre CH = Self Learning done prior to a given contact hour
b.       During CH = Content to be discussed during the contact hour by the course instructor
c.       Post CH = Self Learning done post the contact hour
2.       RL stands for Recorded Lecture or Recorded Lesson. It is presented to the student through an online portal. A given RL unfolds as a sequences of video segments interleaved with exercises
3.        SS stands for Self-Study to be done as a study of relevant sections from textbooks and reference books. It could also include study of external resources.
4.       LE stands for Lab Exercises
5.       HW stands for Home Work will consists could be a selection of problems from the text.

Lab exercises

Please refer to Taxila courseware for Lab exercises

Evaluation Scheme:  
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No
Name
Type
Duration
Weight
Day, Date, Session, Time
EC-1
Quiz-I
Online
-
5%
February 1 to 10, 2017

Quiz-II
Online

5%
March 1 to 10, 2017

Lab
Online

10%
March 20 to 30, 2017
EC-2
Mid-Semester Test
Closed Book
2 hours
30%
26/02/2017 (AN) 2 PM TO 4 PM
EC-3
Comprehensive Exam
Open Book
3 hours
50%
09/04/2017 (AN) 2 PM TO 5 PM

Syllabus for Mid-Semester Test (Closed Book): Topics in Session Nos.  1 TO 11
Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 22)
Important links and information:
Elearn portal: https://elearn.bits-pilani.ac.in
Students are expected to visit the Elearn portal on a regular basis and stay up to date with the latest announcements and deadlines.
Contact sessions: Students should attend the online lectures as per the schedule provided on the Elearn portal.
Evaluation Guidelines:
1.       EC-1 consists of either three Assignments. Students will attempt them through the course pages on the Elearn portal. Announcements will be made on the portal, in a timely manner.
2.       For Closed Book tests: No books or reference material of any kind will be permitted.
3.       For Open Book exams: Use of books and any printed / written reference material (filed or bound) is permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
4.       If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the student should follow the procedure to apply for the Make-Up Test/Exam which will be made available on the Elearn portal. The Make-Up Test/Exam will be conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self study schedule as given in the course handout, attend the online lectures, and take all the prescribed evaluation components such as Assignment , Mid-Semester Test and Comprehensive Exam according to the evaluation scheme provided in the handout.


BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
Digital
Part A: Content Design
Course Title
Pervasive Computing
Course No(s)
SS ZG531/ ES ZG531
Credit Units
4
Credit Model
4 0 0



Course Objectives
No

CO1
The course objective is to provide a strong background in pervasive computing.
CO2
Understanding the currents trends in pervasive computing and involved challenges
CO3
Ability to analyze and design need-driven simple ubiquitous computing solutions using the concepts learnt

Text Book(s)
T1
Stefan Poslad, Ubiquitous Computing: Smart Devices, Environments and Interactions, Wiley India Edition, Student Edition, 2009

Reference Book(s) & other resources
R1
Laurence T. Yang, EviSyukur and Seng W. Loke (eds): Handbook on Mobile and Ubiquitous Computing: Status and Perspective. Auerbach Publications, 2013 (available to all WILPD students via Books 24x7 portal connected to WILPD portal)
R2
Jochen Burkhardt, Horst Henn, Stefan Hepper, Thomas Schaec & Klaus Rindtorff, Pervasive Computing: Technology and Architecture of Mobile Internet Applications, Pearson Education, New Delhi, 2011.
R3
Frank Adelstein, S K S Gupta, GG Richard & L Schwiebert, Fundamentals of Mobile and Pervasive Computing, Tata McGraw-Hill, New Delhi, 2005.
Content Structure
      1.            Introductory Concepts
                        1.1.            Understanding the need and scope of the Pervasive Computing Environments
                        1.2.            Understanding of the basic elements involved
                        1.3.            Interactions in a Pervasive Computing Environments
                        1.4.            Architectural Design and Framework

      2.            Applications and Requirements
                        2.1.            Smart Devices and Smart Environments
                        2.2.            HCI, HHI, HPI Perspectives

      3.            Smart Devices and Services
                        3.1.            Services
                                                                                                                  3.1.1.            Service Architecture Models
                                                                                                                  3.1.2.            Service Provision Life-Cycle
                        3.2.            Virtual Machines and Operating Systems
                        3.3.            Smart Mobile Devices
                                                                                                                  3.3.1.            Mobile Service Design
                                                                                                                  3.3.2.            Mobile Users, Resources and Code
                                                                                                                  3.3.3.            OS for Smart Mobile Devices
                        3.4.            Smart Card Devices
                        3.5.            Device Networks

      4.            Human-Computer Interaction (HCI)
                        4.1.            Types of HCI
                        4.2.            Motivation and Characteristics of HCI
                        4.3.            UI and Interaction Design for Smart Devices
                        4.4.            Hidden UI
                        4.5.            Human-Centered Design (HCD)
                        4.6.            Acquisition and Representation of the User Models

      5.            Tagging, Sensing and Controlling
                        5.1.            Tagging the Physical World
                        5.2.            Sensor and Sensor Networks
                        5.3.            Embedded Systems and Involved Operating Systems

      6.            Context-Aware Systems, Intelligent Systems (IS) & Autonomous Systems
                        6.1.            Modelling Context-Aware Systems
                        6.2.            Types of Context Awareness
                        6.3.            Intelligent Systems
                                                                                                                  6.3.1.            Basics of Intelligent Systems
                                                                                                                  6.3.2.            IS Architecture
                                                                                                                  6.3.3.            Semantic KB IS
                                                                                                                  6.3.4.            IS Interaction
                        6.4.            Autonomous Systems
      7.            Ubiquitous Communication
                        7.1.            Conventional Data Networks
                        7.2.            Designing Ubiquitous Networks & Internetworks
                        7.3.            Network Design Issues
                        7.4.            Service-Oriented Networks and Internetworks

      8.            Management of Smart Devices
                          8.1.          Need for Managing Smart Devices
                          8.2.          Smart Device Management in Relevant Environments

      9.            UbiCom System Challenges
                          9.1.          Key Challenges involved
                          9.2.          Emerging Trends
                          9.3.          Issues pertaining Contemporary Smart Devices, Environments, Interactions and
Learning Outcomes:
No
Learning Outcomes
LO1
To understand in depth about Pervasive Computing and its properties.
LO2
To understand the core elements of pervasive systems including Operating Systems, Networking Model, and Interaction Design.
LO3
To understand the need for Human-Computer Interaction in Pervasive Systems.
LO4
To learn about Context-Awareness, Intelligent Systems, and Autonomous Systems.
LO5
To be aware of the existing Pervasive Computing Challenges
Part B: Learning Plan
Academic Term
SECOND SEMESTER 2016-2017
Course Title
Pervasive Computing
Course No
SS ZG531/ ES ZG531


Evaluation Scheme:  
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No
Name
Type
Duration
Weight
Day, Date, Session, Time
EC-1
Quiz-I
Online
25 Minutes
5%
February 1 to 10, 2017

Quiz-II
Online
25 Minutes
5%
March 1 to 10, 2017

Quiz-III
Online
25 Minutes
5%
March 20 to 30, 2017
EC-2
Mid-Semester Test
Closed Book
2 hours
35%
26/02/2017 (FN) 10 AM – 12 Noon
EC-3
Comprehensive Exam
Open Book
3 hours
50%
09/04/2017 (FN) 9 AM – 12 Noon

Syllabus for Mid-Semester Test (Closed Book): Topics in Session Nos.  1 to 16
Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 32)

Important links and information:
E-learn portal: https://elearn.bits-pilani.ac.in
Students are expected to visit the E-learn portal on a regular basis and stay up to date with the latest announcements and deadlines.
Contact sessions: Students should attend the online lectures as per the schedule provided on the E-learn portal.
Evaluation Guidelines:
1.       EC-1 consists of either two Assignments or three Quizzes. Students will attempt them through the course pages on the E-learn portal. Announcements will be made on the portal, in a timely manner.
2.       For Closed Book tests: No books or reference material of any kind will be permitted.
3.       For Open Book exams: Use of books and any printed / written reference material (filed or bound) is permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
4.       If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the student should follow the procedure to apply for the Make-Up Test/Exam which will be made available on the E-learn portal. The Make-Up Test/Exam will be conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-study schedule as given in the course hand-out, attend the online lectures, and take all the prescribed evaluation components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the evaluation scheme provided in the hand-out.

**************************************************************************************
BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
Digital
Part A: Content Design
Course Title
Real Time Systems
Course No(s)
BITS ZG553/ ES ZG553
Credit Units
5
Credit Model




Course Objectives
No

CO1
Introduce the theories behind modeling and designing Real-time systems and the scheduling algorithms associated with it.
CO2
Introduce both theoretical and practical aspects of Real Time Operating Systems (RTOS) to the students.
CO3
Introduce Hardware and Software technologies related to Real-time Systems and designing using them to the students.

Text Book(s)
T1
Liu, Jane W.S., Real Time Systems, Pearson Education, 2000
T2
Laplante, Phillip A., Real-Time Systems Design and Analysis, WSE, 4th Ed., 2012.

Reference Book(s) & other resources
R1
Li Quing, Real-Time Concepts for Embedded Systems, CMP books, paperback 2003 (Available on Books 24x7)
R2
Burns Allen and Wellings Andy, Concurrent and Real-Time Programming in ADA, Cambridge University Press, paperback 2007 (Available on Books 24x7)

Content Structure
   10.            Fundamentals of Real-Time Systems
                      10.1.            Typical Real-Time Systems
                                        10.1.1.            Definitions
                                        10.1.2.            Examples of Real-Time Systems
                      10.2.            Hard vs Soft Real-Time Systems
                                        10.2.1.            Jobs and Processors
                                        10.2.2.            Timing Constraints
                                        10.2.3.            Hard and Soft Real-Time Systems
   11.            A Reference Model of Real-Time Systems
                      11.1.            Processors and Resources
                      11.2.            Temporal Parameters of Real-Time Workload
                      11.3.            Periodic Task Model
                      11.4.            Precedence Constraints and Data dependency
                      11.5.            Functional Parameters
                      11.6.            Resource Parameters
                      11.7.            Feasibility, Optimality and Performance Measures
   12.            Commonly Used Approaches to Real-Time Scheduling
                      12.1.            Clock-Driven Approach
                      12.2.            Round-robin and Weighted Round-robin Approaches
                      12.3.            Priority-Driven Approach
                      12.4.            Effective Release Times and Deadlines
                      12.5.            Off-line vs On-line Scheduling
                      12.6.            Different Scheduling Algorithms
                                        12.6.1.            EDF (Earliest Deadline First) Algorithm
                                        12.6.2.            LRT (Latest Release Time) Algorithm
                                        12.6.3.            LST (Least-Slack-Time-First) Algorithm
   13.            Clock Driven Scheduling
                      13.1.            Static Timer Driven Scheduler
                      13.2.            General Structure of Cyclic Schedules
                      13.3.            Cyclic Executives
                      13.4.            Scheduling Aperiodic Jobs
                      13.5.            Scheduling Sporadic Jobs
                      13.6.            Practical Considerations
                      13.7.            Pros and Cons of Clock-Driven Scheduling
   14.            Priority-Driven Scheduling of Periodic Tasks
                      14.1.            Fixed-Priority vs Dynamic-Priority Algorithms
                      14.2.            Well-known Fixed-priority Scheduling Algorithms
                                        14.2.1.            RM (Rate-Monotonic) Algorithm
                                        14.2.2.            DM (Deadline-Monotonic) Algorithm
                      14.3.            Well-known Dynamic-priority Scheduling Algorithms
                                        14.3.1.            EDF (Earliest Deadline First) Algorithm
                                        14.3.2.            LST (Least-Slack-Time-First) Algorithm
                      14.4.            Maximum Schedulable Utilization of Different Scheduling Algorithms
                      14.5.            Time Demand Analysis for Fixed Priority Systems
   15.            Scheduling Aperiodic and Sporadic Jobs in Priority-Driven Systems
                      15.1.            Assumptions and Approaches
                      15.2.            Deferrable Servers
                      15.3.            Scheduling of Sporadic Jobs
   16.            Resource and Resource Access Control
                      16.1.            Resource and Their Usage
                      16.2.            Effect of Resource Contention and Resource Access Control
                      16.3.            Basic Priority Inheritance Protocol
                      16.4.            Basic Priority Ceiling Protocol
   17.            Hardware Considerations in Real-Time Systems
                      17.1.            CPU
                      17.2.            Memory
                      17.3.            Peripheral Devices
   18.            Real-Time Operating Systems
                      18.1.            Pseudokernels to Operating Systems
                      18.2.            Process States
                      18.3.            Inter-task communication and synchronization
                      18.4.            Memory Management
                      18.5.            Storage & File Systems
                      18.6.            Boot Sequence
   19.            Software Programming Languages in Real-time Systems
                      19.1.            Language Taxonomy
                      19.2.            Basic Code Optimization Techniques
   20.            Software Design Approaches
                      20.1.            Qualities of Real-Time Software
                      20.2.            Procedural Design Approach & Object Oriented Design Approach
                      20.3.            Software Development Life Cycle
                      20.4.            Metrics in Software Engineering
   21.            Software Requirements
                      21.1.            Requirement Engineering for Real-Time Systems
                      21.2.            Requirement Specification Techniques
                      21.3.            The Requirement Document
   22.            Validation and verification techniques
                      22.1.            Real-Time Performance Analysis
                      22.2.            Testing Methods
   23.            Redundancy and Reliability
                      23.1.            Uncertainty in Real-Time systems
                      23.2.            Design for Fault Tolerance

Learning Outcomes:
No
Learning Outcomes
LO1
Students should gain knowledge about modeling and designing Real-Time Systems.
LO2
Students should gain knowledge about both theoretical and practical aspects of Real Time Operating Systems (RTOS).
LO3
Students should gain knowledge about the Software Design and Development aspects related to Real-time Systems.
LO4
Students should get exposure to the hardware technologies related to Real-time Systems.

Part B: Learning Plan

Academic Term
Second Semester 2016-2017
Course Title
Real Time Systems
Course No
BITS ZG553 / ES ZG553
Lead Instructor
Ashish Mishra


Detailed Plan for Lab work/Design work
Lab No
Lab Objective
Lab Sheet Access URL
Content Reference
1
Example RTOS : Hands-on Exercises with Keil ARM RTX
‘Lab Session 1’ in the Lab Sheet
2
Write a program to demonstrate
·         POSIX thread creation and making the threads joinable
·         Use of mutex to share resources between POSIX threads
‘Lab Session 2’ in the Lab Sheet

3
Write a program to demonstrate the use of semaphores to synchronize between POSIX threads.
‘Lab Session 3’ in the Lab Sheet



Evaluation Scheme:  
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No
Name
Type
Duration
Weight
Day, Date, Session, Time
EC-1
Quiz-I
Online
-
5%
February 1 to 10, 2017

Quiz-II
Online

5%
March 1 to 10, 2017

Assignment
Online

10%
March 20 to 30, 2017
EC-2
Mid-Semester Test
Closed Book
2 hours
30%
25/02/2017 (AN) 2 PM TO 4 PM
EC-3
Comprehensive Exam
Open Book
3 hours
50%
08/04/2017 (AN) 2 PM TO 5 PM


Note: If Assignment kindly remove Quiz-I, II, III
Syllabus for Mid-Semester Test (Closed Book): Topics in Session Nos.  1 to 16
Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 32)
Important links and information:
Elearn portal: https://elearn.bits-pilani.ac.in
Students are expected to visit the Elearn portal on a regular basis and stay up to date with the latest announcements and deadlines.
Contact sessions: Students should attend the online lectures as per the schedule provided on the Elearn portal.
Evaluation Guidelines:
5.       EC-1 consists of either two Assignments or three Quizzes. Students will attempt them through the course pages on the Elearn portal. Announcements will be made on the portal, in a timely manner.
6.       For Closed Book tests: No books or reference material of any kind will be permitted.
7.       For Open Book exams: Use of books and any printed / written reference material (filed or bound) is permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
8.       If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the student should follow the procedure to apply for the Make-Up Test/Exam which will be made available on the Elearn portal. The Make-Up Test/Exam will be conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self study schedule as given in the course handout, attend the online lectures, and take all the prescribed evaluation components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the evaluation scheme provided in the handout.

**************************************************************************************

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
Digital
Part A: Content Design
Course Title
Software for Embedded Systems
Course No(s)
IS ZC424 / ES ZC424
Credit Units
3
Credit Model

Content Authors
Prashant Joshi

Course Objectives
No

CO1
To introduce various methodologies, components, frameworks and development systems the can be used to design and develop software for today’s embedded systems
CO2
To apply the various methodologies, frameworks and use the development systems in implementing embedded systems
CO3
To bring in a perspective of end to end solutions using embedded systems and interdisciplinary approach to learning and understanding the software development for embedded systems

Text Book(s)
T1
Douglass, Bruce Powel., Real-Time UML, Pearson Education, 3rd Edition, 2004
T2
Peter Barry & Patrick Crowley, Modern Embedded Computing, Designing Connected, Pervasive, Media-Rich Systems, Morgan Kaufmann, 1st Edition, 2012

Reference Book(s) & other resources
R1
Douglass, Bruce Powel., Real-Time UML Workshop for Embedded Systems, Elsevier, 1st Edition, 2011
R3
Peckol James K., Embedded Systems – A Contemporary Design Tool, Wiley, 1st Edition,
R4
Raghavan, Lad, Neelakandan, Embedded Linux System Design And Development, Auerbach Publications, First Edition, 2006
R5
Robert Love, Linux Kernel Development, Pearson Education, 3rd Edition
R6
Professional Android 4 Application Development, by Reto Meier, WROX Press, Wiley Publishing.
R7
Various application notes and whitepapers from Freescale & Intel

Content Structure
Part I: Introduction

   24.            Introduction to the World of Real Time and Embedded Systems
                      24.1.            Introduction to real time systems
                      24.2.            Time, Performance and Quality of Service
                      24.3.            Hard and Soft Real Time Systems
                      24.4.            Overview of hardware and software for embedded systems
                      24.5.            Overview of design, development and test of embedded systems

Part II: Embedded Software Development Methods

   25.            Object Orientation with UML – Structural Aspects
                      25.1.            Object Orientation with UML
                      25.2.            Objects, Classes, and Interfaces
                      25.3.            Relations
                                        25.3.1.            Associations
                                        25.3.2.            Aggregation
                                        25.3.3.            Composition
                                        25.3.4.            Generalization
                                        25.3.5.            Dependency
                      25.4.            Packages, components and subsystems
   26.            Object Orientation with UML 2.0 – Dynamic Aspects
                      26.1.            Behavior and the UML
                      26.2.            Types of Behavior
                      26.3.            Behavior Primitives: Activities and Actions
                      26.4.            Behavior and the single object
                                        26.4.1.            Statechart diagrams
                                        26.4.2.            Activity Diagrams
                      26.5.            Interactions
                                        26.5.1.            Sequence diagrams
                                        26.5.2.            Timing Diagrams
   27.            Requirements Analysis of Real Time Systems
                      27.1.            Requirements
                      27.2.            Use case diagrams
                      27.3.            Detailing the use cases
   28.            Architectural Design
                      28.1.            Overview of Design
                      28.2.            What is Architectural Design?
                                        28.2.1.            Logical Architecture
                                        28.2.2.            Physical architecture
                                        28.2.3.            Subsystem and component view
                                        28.2.4.            Concurrency and Resource view
                                        28.2.5.            Distribution View
                                        28.2.6.            Safety and Reliability view
                                        28.2.7.            Deployment view
                      28.3.            Concurrency and Resource Design

Part III: Embedded Software Components

   29.            OS and non-OS based software development for Embedded Systems
   30.            Operating Systems Overview
                      30.1.            Need for an operating system
                      30.2.            Process & Threads
                      30.3.            Scheduling
                      30.4.            Inter-task synchronization
                      30.5.            Memory Management
                      30.6.            Storage File Systems
                      30.7.            Boot Sequence
   31.            Embedded Linux
                      31.1.            Tool Chain
                      31.2.            Anatomy of Embedded Linux
                      31.3.            Building a Kernel
                      31.4.            Boot loader
                      31.5.            Debugging
                      31.6.            Memory Management
                      31.7.            Inter-task synchronization
                      31.8.            POSIX Threads
   32.            Embedded Graphics and Multimedia
                      32.1.            Screen Display
                      32.2.            Graphics Stack
                      32.3.            Media Decode
                      32.4.            Media Frameworks
   33.            Networks for Embedded Systems
                      33.1.            Networking Basics
                      33.2.            Ethernet
                      33.3.            TCP/IP Networking
                      33.4.            Wi-Fi and IEEE 802.11
                      33.5.            Bluetooth
   34.            Application Frameworks: Android
                      34.1.            Android Framework Architecture
                      34.2.            Android Application Architecture
                      34.3.            Android Development Environment
                      34.4.            Overview of various other frameworks and OS (iOS, Windows, QT)


Learning Outcomes:
No
Learning Outcomes
LO1
To learn and apply various methodologies that can be used to develop software for modern embedded systems
LO2
To understand the hardware and software components used in modern embedded systems and the technology that is used to build them
LO3
To get a deeper understanding of the big picture of modern embedded system software
LO4
To design and develop embedded system software

Part B: Learning Plan

Academic Term
Second Semester 2016-2017
Course Title
SOFTWARE FOR EMBEDDED SYSTEMS
Course No
IS ZC424 /ES ZC424
Lead Instructor
Prashant Joshi


Laboratory Details:

1.       Any Desktop Linux can be used for POSIX Thread related lab exercises.
2.       GStreamer is required to be installed for GStreamer based lab exercises. Detailed instructions related to installing GStreamer is available at http://docs.gstreamer.com/display/GstSDK/Installing+on+Linux
3.       ‘Wireshark’ tool for the lab exercise related to networking can be downloaded from https://www.wireshark.org/
4.       Android SDK and associated tools can be downloaded and installed following the instructions at https://developer.android.com/index.html. These are required for Android based lab exercises
Note: Lab sessions suggested above are meant for learning purpose and will not have a separate evaluation component. The EC for work done for lab sessions will be part of EC 2 and 3

Evaluation Scheme:  
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No
Name
Type
Duration
Weight
Day, Date, Session, Time
EC-1
Quiz-I
Online
-
7%
February 1 to 10, 2017

Quiz-II
Online

8%
March 1 to 10, 2017
EC-2
Mid-Semester Test
Closed Book
2 hours
35%
25/02/2017 (FN) 10 AM – 12 Noon
EC-3
Comprehensive Exam
Open Book
3 hours
50%
08/04/2017 (FN) 9 AM – 12 Noon


 Note: If Assignment kindly remove Quiz-I, II, III
Syllabus for Mid-Semester Test (Closed Book): Topics in Session Nos.  16
Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 32)
Important links and information:
Elearn portal: https://elearn.bits-pilani.ac.in
Students are expected to visit the Elearn portal on a regular basis and stay up to date with the latest announcements and deadlines.
Contact sessions: Students should attend the online lectures as per the schedule provided on the Elearn portal.
Evaluation Guidelines:
9.       EC-1 consists of either two Assignments or three Quizzes. Students will attempt them through the course pages on the Elearn portal. Announcements will be made on the portal, in a timely manner.
10.   For Closed Book tests: No books or reference material of any kind will be permitted.
11.   For Open Book exams: Use of books and any printed / written reference material (filed or bound) is permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
12.   If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the student should follow the procedure to apply for the Make-Up Test/Exam which will be made available on the Elearn portal. The Make-Up Test/Exam will be conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self study schedule as given in the course handout, attend the online lectures, and take all the prescribed evaluation components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the evaluation scheme provided in the handout.

Comments

Popular posts from this blog

Question Papers: SEM 1

  Birla Institute of Technology & Science, Pilani Work-Integrated Learning Programmes Division First Semester 2016-2017 Comprehensive Examination (EC-3 Regular) Course No.                   : BITS ZG553   Course Title                  : REAL TIME SYSTEMS   Nature of Exam            : Open Book Weightage                    : 50% Duration                       : 3 Hours   Date of Exam        ...

Sem 2 - NEA (Network Embedded System) assignment

Network Embedded Applications SS ZG656 First Semester 2017-18 Assignment – 1 A fenced 100-acre plot consists of three buildings •                     • Manufacturing unit •                     • Packing area •                     • Surveillance The manufacturing unit takes care of production of high pressure water tanks for nuclear and chemical plants using automatic equipment. The process is controlled and monitored using network. Manufacturing unit occupies area of 10 acres including manufacturing as well as control room equipment. Environmental conditions in this plant change quite frequently due varying temperature, noise and other ambient conditions. The packing area is a ware...