Anda di halaman 1dari 10

EENG 34326

Embedded Software Development


Faculty of Engineering & Computer
Technology
AIMST UNIVERSITY

COURSE OUTLINE
Lecturer: Ms. V. Umayal
Semester: June 2016
Academic Session 2016

The information in this document is important and should be noted by all students
undertaking the B. Eng. (Hons) Electrical and Electronic Engineering

Approved by the Coordinator:

Endorsed By Dean:

------------------------------------------

__________________

COURSE DESCRIPTION
TEACHING PANEL
NAME

ROOM #

EXT

EMAIL

Ms. V. Umayal

EIT. Block, 2nd Floor, Lecturer Room

4038

umayal@aimst.edu.my

THE RATIONALE FOR INCLUSION OF THIS COURSE IN THE PROGRAMME


This course is designed as a core subject for B.Eng (Hons) in Electrical and Electronic
Engineering in Year 4 second semester students. This course will provide students, hands on
experience of understanding, implementing and testing embedded softwares. Students will
be exposed to the embedded C, programming language tools, program elements, embedded
C++ and Java programming, software development tools, UML software, HTML tags and
client server communication and their protocols. Both theory and practical knowledge will
be delivered in this course.
Semester and Year Offered: Semester 1, June 2016
Credit Value: 03
Prerequisites: FENG 31141- Programming Technique
COURSE OBJECTIVE:
The primary aim of this subject is to introduce the students to the programming aspects of
embedded systems. Also to introduce programming in C and assembly for embedded
processors. To discuss embedded programming and in C++ and software analysis using
embedded Java. Introduce the students about UML programming and its concepts of
embedded software design. Make the students to understand the problems associated with
web based architectural model of embedded systems.
TRANSFERABLE SKILLS:
This course is aimed to ensure learners to develop independent learning skills and to gain
experience on the operations of embedded software development. Besides emphasizing the
fundamental concepts of embedded programming, the course will encourage learners for

better understanding of how a embedded program contributing in the modern world and
realize the applications of embedded system software.

STUDENT LEARNING TIME (SLT):


Learning Activities

Student Learning Time (in Hours)

Lectures

58
28
30
16
10
6
16
11
5
12

1
a
b
2
a
b
3
a
b
4
a

Attending Lectures
Pre, Post Preparation and Independent Learning
Tutorial
Attending Tutorials
Preparation for Tutorials
Laboratory
Practical
Preparation & Report Writing
Assignments
Assignment preparation and Submission
4 Hours per assignment, 3 assignments
5
Assessments
a 1 continuous assessment (2 hrs + 3 hrs
preparation)
b 1 Final Examination (3hrs+ 10 hrs preparation)
Total
ASSESSMENT

STRATEGY

WITH

COURSE

12
18
5
13
120

OUTCOMES

AND

PROGRAMME

OUTCOMES:
Mode of Assessment
Final Examination
Mid Sem
Examination
Laboratory
Assignments
Total
Course Outcomes

Percentage

Programme Outcomes
PO1

PO2

60%

30%

30%

20%

10%

10%

(%)

10%
10%
100%

PO5

10%
5%
(45%)
CO1

5%
(45%)
CO1

(10%)
CO1

CO2
CO2
CO2
CO1: Synthesis the embedded software program and software development process. (C5, PO1, PO2, PO5)
CO2: Analyse embedded software using UML and Web based Embedded Networking protocols (C5, PO1,
PO2, PO5)

Duration: 14 Weeks (June 2016 October 2016)

STUDENTS LEARNING ACTIVITIES:


To achieve the course outcomes, students are required to:
1. Have full participation in the class lecture, tutorial and discussion
2. Refer the books (but not limited) mentioned below.
3. Develop practical skills by applying the classroom theoretical knowledge in
the laboratory.
4. Show individual interest to complete the Assignments and submit within the due
date strictly with no plagiarism.
WEEK
1

ACTIVITIES
Lesson 1: PROGRAMMING EMBEDDED SYSTEMS
Embedded Program Role of Infinite loop Compiling, Linking and locating downloading
and debugging Emulators and simulators processor (CO1, PO1, PO2)
From this lesson, students are able to understand how the embedded tools working
Have an idea to analyse some real time emulator and simulator
To achieve the course outcomes, students are required to:
1. Attend lectures
2. Read chapter 3,4 & 5 of Programming Embedded Systems, 2nd Edition by Michael Barr
3. Find additional information from Google search
Tutorial 1: Write compiling, linking, and locating code, for assembly language programming

Method of teaching: Give an oral introduction and use power point slides to explain
Lesson 2: External peripherals Types of memory Memory testing Flash Memory.
(CO1, PO1, PO2)
From this lesson, students will come to know internal memory families
Students can analyse the problems of memories
To achieve the course outcomes, students are required to:
1. Attend lectures
2. Read chapter 6 & 7 of Programming Embedded Systems, 2nd Edition by Michael Barr
3. Find additional information from Google search
Tutorial 2: Common Memory Problems
Method of teaching: Students going to take a seminar to their friends and then staff will
give clarification

Lesson 3: Overview of Embedded C Compilers and Optimization Programming and


Assembly (CO1, PO1, PO2, PO5)
Students are able to understand the difference of C language and Embedded C
From the knowledge of Embedded C can optimize the coding and improve the
execution speed
To achieve the course outcomes, students are required to:
1. Attend lectures
2. Read chapter 10 of Programming Embedded Systems in C and C++, Michael Barr
4. Find additional information from Google search

Tutorial 3: Factors to improve the optimization


Method of teaching: Give comparison table of C and Embedded C
Lesson 4: Register usage conventions typical use of addressing options instruction
sequencing (CO1, PO1, PO2, PO5)

Students are going to understand the register usage and addressing modes of embedded
C and Assembly.
Then try to use in the program to achieve the specific application.
Students have to understand the instruction sequencing to write programs for specific
real time problems.

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Read chapter 5 of Raj Kamal, Embedded Systems- Architecture, Programming and
Design Tata McGraw Hill, 2006.
3. Refer this website http://sigpromu.org/brett/elec3730/lecture11.pdf to get information
related to register usage.
4. Refer this website
http://www.cse.chalmers.se/~svenk/IT_university/embedded_systems/manuals/addressing
_modes.pdf to get idea about embedded addressing modes
5. Find additional information from Google
Tutorial 4: Write simple program using instruction sequencing
Method of teaching: Provide notes and explanation of registers, addressing and instruction
5

sequencing.
Lesson 5: Procedure call and return parameter passing retrieving parameters everything
in pass by value temporary variables (CO1, PO1, PO2, PO5)

From this lesson, students are able to understand the concept of Remote Procedure
Call
Students are trying to implement the RPC concept to access or control the data from
Host to Target system

To achieve the course outcomes, students are required to:

1. Attend lectures
2. Read chapter 9 of Wiki books to get ideas of RPC
3. Refer connect to this website https://www.udacity.com/course/viewer... to get a video
explanation of RPC.
4. Find additional information from Google
Tutorial 5: Implement that above concepts in CDECL calling convention
Method of teaching: Staff first recall about C language functions and compare with
embedded systems RPC then finally ask the question related about control flow and return
6

address storage.
Lesson 6: Program Elements Queues Stack- List and ordered lists (CO1, PO1, PO2, PO5)

Students are trying to understand the principle technique of Queue and Stack
Then try to implement with the program to store return addresses while approaching
RPC concept

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Read chapter 1 of Wikibooks to get information about program elements
3. Find additional information from Google search.
Tutorial 6: Explain program elements with memory concept
Method of teaching: Staff going to collect students answer for the previous class problem,
then give an explanation of program elements now again ask them to solve the problem
7

using PEs.
Lesson 7: -Embedded programming in C++ Inline Functions and Inline Assembly
Portability Issues - Embedded Java (CO1, PO1, PO2, PO5)

Students will come to know Embedded C++ and JAVA


They are able to understand Inline functions
Then they can analyse the difference of normal function and inline functions

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Read chapter 5 of Raj Kamal, Embedded Systems- Architecture, Programming and
Design Tata McGraw Hill, 2006.
3. Find additional information from Google search.
Tutorial 7: Explanation of macros
Assignment 1: Write a simple C++ program with Inline function
Method of teaching: Compare the efficiency of inline function than the normal functions
via power point explanation and then implement in the lab also.

Mid Semester Break (Mon, 15 Aug 2016 Fri, 19 Aug 2016)


Lesson 8: Software Development process: Analysis Design- Implementation Testing
Validation- Debugging Software maintenance (CO1, PO1, PO2, PO5)

Students are going to know about the development cycle of the software
Follow the same steps to develop the user program (software) from Host machine.

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Read chapter 7 of Raj Kamal, Embedded Systems- Architecture, Programming and
Design Tata McGraw Hill, 2006.
3. Find additional information from Google search
Method of teaching: Ask the students about real life routines, with the ideas derive the
software development routines and then verify with our slides.
Mid-Sem Examination: 23-08-2016

Students can answer the questions that enable them to evaluate their capability in writing test
from lesson 1- 6
Lesson 9: Object State Behaviour UML State charts Role of Scenarios in the Definition of
Behaviour (CO2, PO1, PO2, PO5)

Students are able to understand behaviour model of embedded software


Then try to draw the behaviour chart for the application specific software using UML
software

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Read chapter 1,2 & 3 by Bruce Powel Douglas, Real-Time UML, Second Edition:
Developing Efficient Object for Embedded Systems, 2nd edition
3. Click the link https://www.youtube.com/watch?v=_6TFVzBW7oo to learn about state
chart machine
4. Touch the link https://www.youtube.com/watch?v=18_kVlQMavE to connect with
sequence diagram
5. Go to the link https://www.youtube.com/watch?v=4WDbte6cPa8 to learn about sequence
diagram with the example of online purchasing.
6. MOOC UML #3: Object Diagram
7. UML Behavioural Diagrams: State Transition Diagram - Georgia Tech - Software
Development Process
10

Method of teaching: Explain the lesson using UML software


Lesson 10: Timing Diagrams Sequence Diagrams Event Hierarchies Types and

Strategies of Operations (CO2, PO1, PO2, PO5)

Students try to understand the timing diagram, flow diagram of the embedded
software, event scheduling during software development time and list out the
operations have to do.
Students are going to implement the knowledge during software development time

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Click the link with control key https://www.youtube.com/watch?v=4WDbte6cPa8 to
watch sequence diagram
3. UML 2 Timing Diagram Cheat Sheet: http://goo.gl/WbBlN
4. Sequence Diagram Cheat Sheet: http://goo.gl/L0DoU
5. Read chapter 3 & 4 by Bruce Powel Douglas, Real-Time UML, Second Edition:
Developing Efficient Object for Embedded Systems, 2nd edition
Method of teaching: First explains the concept this lesson, then gives some specific problem
to the students to derive timing and sequence diagram, finally ask them to draw the event
hierarchy and selection of operational strategy.
Lesson 11: Architectural Design in UML Concurrency Design Representing Tasks System
11

Task Diagram Concurrent State Diagrams Threads. Mechanistic Design Simple Patterns
(CO2, PO1, PO2, PO5)

During the software development students are going to understand and draw the
hierarchy of various tasks in the software and finally trying to integrate.

As well as they are going to check the exceptional threads

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Read chapter 5 by Bruce Powel Douglas, Real-Time UML, Second Edition: Developing
Efficient Object for Embedded Systems, 2nd edition
3. Find additional information from Google search
Tutorial 8: Discuss about Realtime task
Method of teaching: Practically students are going to learn about the UML concurrency
12

model.
Lesson 12: Basics Client/server model- Domain Names and IP address Internet
Infrastructure and Routing (CO2, PO1, PO2)
1. Students are able to understand the client server model and addressing techniques of
remote accessing point
2. Then try to make the host and target system to send the request from the host and get

responses from the target


To achieve the course outcomes, students are required to:
1. Attend lectures
2. Read chapter 21 by H.M. Deitel , P.J.Deitel, A.B. Goldberg Internet and World Wide
Web How to
Program Third Edition
3. Find additional information from Google search

13

Tutorial 9: Discuss about IP versions


Method of teaching: Students are already having the idea of internet, client server model
and they have domain names in the internet, but from this lesson only they are going to
know and relate to their knowledge- By PPT and practical session
Lesson 13: URL TCP/IP protocols Embedded, as Web Client - Embedded Web servers
HTML Web security (CO2, PO1, PO2)

Students will understand about the rules and regulations of the internet (TCP/IP
protocols)
Students are going to learn about HTML tags
Then they are going to create the web page from the host system.

To achieve the course outcomes, students are required to:


1. Attend lectures
2. Read chapter 11 by H.M. Deitel, P.J.Deitel, A.B. Goldberg Internet and World Wide Web
How to Program Third Edition
3. Web site- w3schools.com
4. Find additional information from Google search
Tutorial 10: Create a web page using HTML
Assignment 2: Explain IPV6
Method of teaching: By PPT students are going to learn about URL, TCP/IP protocols, By
practical they are going to learn about HTML tags and create web pages with different
14

styles.
Lesson 14: Case study : Web-based Home Automation system. (CO2, PO1, PO2)
Students are going to study about the home automation system are then going to
identify the problems of the specific application and try to rectify the problem using
embedded tools.
Assignment 3: Explain real time case study
PRESCRIBED TEXT
1. Daniel W.lewis Fundamentals of Embedded Software where C and Assembly
meet PHI 2002.
2. David E.Simon: An Embedded Software Primer, Pearson Education, 2003
3. Michael Barr, Programming Embedded Systems in C and C++, Oreilly, 2003

4. H.M. Deitel , P.J.Deitel, A.B. Golldberg Internet and World Wide Web How to
Program Third Edition , Pearson Education , 2001.
5. Bruce Powel Douglas, Real-Time UML, Second Edition: Developing Efficient
Object for Embedded Systems, 2nd edition, 1999, Addison-Wesley.
6. Raj Kamal, Embedded Systems- Architecture, Programming and Design Tata
McGraw Hill, 2006.
7. Programming Embedded Systems, 2nd Edition by Michael Barr
PRACTICALS:
Lab 1: Implement queue and stack in C programs
Lab 2: Draw UML state diagrams.
Lab 3: Write a simple C++ program with Inline function
Lab 4: Create HTML web pages with different styles.
Note:
* Every week, after completing the implementation in the laboratory, students will be asked
to submit their lab reports

Anda mungkin juga menyukai