Sei sulla pagina 1di 14

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 todays 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

1. Introduction to the World of Real Time and Embedded Systems


1.1. Introduction to real time systems
1.2. Time, Performance and Quality of Service
1.3. Hard and Soft Real Time Systems
1.4. Overview of hardware and software for embedded systems
1.5. Overview of design, development and test of embedded systems

Part II: Embedded Software Development Methods

2. Object Orientation with UML Structural Aspects


2.1. Object Orientation with UML
2.2. Objects, Classes, and Interfaces
2.3. Relations
2.3.1. Associations
2.3.2. Aggregation
2.3.3. Composition
2.3.4. Generalization
2.3.5. Dependency
2.4. Packages, components and subsystems
3. Object Orientation with UML 2.0 Dynamic Aspects
3.1. Behavior and the UML
3.2. Types of Behavior
3.3. Behavior Primitives: Activities and Actions
3.4. Behavior and the single object
3.4.1. Statechart diagrams
3.4.2. Activity Diagrams
3.5. Interactions
3.5.1. Sequence diagrams
3.5.2. Timing Diagrams
4. Requirements Analysis of Real Time Systems
4.1. Requirements
4.2. Use case diagrams
4.3. Detailing the use cases
5. Architectural Design
5.1. Overview of Design
5.2. What is Architectural Design?
5.2.1. Logical Architecture
5.2.2. Physical architecture
5.2.3. Subsystem and component view
5.2.4. Concurrency and Resource view
5.2.5. Distribution View
5.2.6. Safety and Reliability view
5.2.7. Deployment view
5.3. Concurrency and Resource Design

Part III: Embedded Software Components

6. OS and non-OS based software development for Embedded Systems


7. Operating Systems Overview
7.1. Need for an operating system
7.2. Process & Threads
7.3. Scheduling
7.4. Inter-task synchronization
7.5. Memory Management
7.6. Storage File Systems
7.7. Boot Sequence
8. Embedded Linux
8.1. Tool Chain
8.2. Anatomy of Embedded Linux
8.3. Building a Kernel
8.4. Boot loader
8.5. Debugging
8.6. Memory Management
8.7. Inter-task synchronization
8.8. POSIX Threads
9. Embedded Graphics and Multimedia
9.1. Screen Display
9.2. Graphics Stack
9.3. Media Decode
9.4. Media Frameworks
10. Networks for Embedded Systems
10.1. Networking Basics
10.2. Ethernet
10.3. TCP/IP Networking
10.4. Wi-Fi and IEEE 802.11
10.5. Bluetooth
11. Application Frameworks: Android
11.1. Android Framework Architecture
11.2. Android Application Architecture
11.3. Android Development Environment
11.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

Contact Hour 1
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 1 Introduction to the world of real


CH time and embedded systems

Post CH

Contact Hour 2
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 1 Time, Performance and Quality of


CH Service
Hard and Soft Real-Time Systems

Post CH

Contact Hour 3
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 2 Object Orientation with UML


CH Structural Aspects
Objects, Classes, and
Interfaces

Post CH

Contact Hour 4
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 2 Relations:
CH Associations
Aggregation
Composition
Generalization
Dependency
Structural Diagram
Post CH

Contact Hour 5
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 2 Packages, components and


CH subsystems

Post CH

Contact Hour 6
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 3 Object Orientation with UML 2.0


CH Dynamic Aspects
Types of Behavior
Behavior Primitives

Post CH

Contact Hour 7
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 3 Object Orientation with UML 2.0


CH Dynamic Aspects
Behavior and the single
object: Statechart diagrams

Post CH

Contact Hour 8
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 3 Object Orientation with UML 2.0


CH Dynamic Aspects
Behavior and the single
object: Activity diagrams

Post CH

Contact Hour 9
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH
During T1 Ch 3 Object Orientation with UML 2.0
CH Dynamic Aspects
Sequence Diagram

Post CH

Contact Hour 10
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 3 Object Orientation with UML 2.0


CH Dynamic Aspects
Timing Diagram

Post CH

Contact Hour 11
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 5 Requirements Analysis of Real


CH Time Systems
Requirements
Use case diagrams

Post CH

Lab Create UML Diagrams using Lab Session 1 in the Lab Sheet
freely available UML tools such
as ArgoUML, Star UML etc

Contact Hour 12
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 5 Requirements Analysis of Real


CH Time Systems
Detailing the use cases

Post CH

Contact Hour 13
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 8 Architectural Design


CH Overview of Design
What is Architectural
Design?
o Logical
Architecture
o Physical
architecture

Post CH

Contact Hour 14
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T1 Ch 8 Architectural Design


CH Subsystem and component
view
Concurrency and Resource
view
Distribution View
Safety and Reliability view
Deployment view

Post CH

Contact Hour 15
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During Review
CH

Post CH

Contact Hour 16
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During Review
CH

Post CH

Contact Hour 17
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 7 Operating Systems Overview


CH Process & Threads
Scheduling

Post CH
Contact Hour 18
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 7 Operating Systems Overview


CH Inter-task synchronization
Memory Management
Storage File Systems

Post CH

Contact Hour 19
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 7 Operating Systems Overview


CH Boot Sequence

Post CH

Contact Hour 20
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 8 Embedded Linux


CH Anatomy of Embedded
Linux

Post CH

Contact Hour 21
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 8 Embedded Linux


CH Tool Chain
Building a Kernel

Post CH

Contact Hour 22
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 8 Embedded Linux


CH T2 Ch 6 Boot loader
Debugging
Memory Management
Inter-task synchronization

Post CH

Contact Hour 23
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 8 Embedded Linux


CH POSIX Threads

Post CH

Lab Write a program to demonstrate Lab Session 2 in the Lab Sheet


POSIX thread creation and
making the threads
joinable
Use of mutex to share
resources between POSIX
threads

Contact Hour 24
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 8 Embedded Linux


CH POSIX Threads

Post CH

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

Contact Hour 25
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 10 Embedded Graphics and


CH Multimedia
Screen Display
Graphics Stack

Post CH

Contact Hour 26
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH
During T2 Ch 10 Embedded Graphics and
CH Multimedia
Media Decode
Media Frameworks

Post CH

Lab http://docs.gstr Write a program to play a video Lab Session 4 in the Lab Sheet
eamer.com/pag clip using GStreamer
es/viewpage.ac
tion?
pageId=32773
5

Contact Hour 27
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 12 Networks for Embedded Systems


CH Networking Basics
Ethernet
TCP/IP Networking

Post CH

Lab Download Analyze TCP packets using Lab Session 5 in the Lab Sheet
Wireshark Wireshark tool
from
https://www.wi
reshark.org/

Contact Hour 28
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 12 Networks for Embedded Systems


CH Wi-Fi and IEEE 802.11
Bluetooth

Post CH

Contact Hour 29
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 13, R6 Application Frameworks: Android


CH Android Framework
Architecture

Post CH
Lab Setup Android Application Lab Session 6 in the Lab Sheet
Development Environment

Contact Hour 30
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During T2 Ch 13, R6 Application Frameworks: Android


CH Android Application
Architecture
Android Development
Environment
Discuss and review typical
applications that explore
features of the framework

Post CH

Lab R6 Development of any Android Lab Session 7 in the Lab Sheet


Application (e.g. Hello World
program) using Android Studio or
Eclipse and testing it on Simulator.

Contact Hour 31
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During Review
CH

Post CH

Contact Hour 32
Type Content Ref. Topic Title Study/HW Resource Reference

Pre CH

During Review
CH

Post CH

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 2 hours 35% 25/02/2017 (FN) 10 AM 12 Noon
Book
EC-3 Comprehensive Open 3 hours 50% 08/04/2017 (FN) 9 AM 12 Noon
Exam Book

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:
1. 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.
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/Quiz, Mid-Semester Test and Comprehensive Exam according to the evaluation scheme provided in
the handout.