RYERSON UNIVERSITY

Course Outline (F2019)

COE718: Embedded Systems Design

Instructor(s)Gul Khan [Coordinator]
Office: ENG448
Phone: (416) 979-5000 x 6084
Email: gnkhan@ryerson.ca
Office Hours: Thursday 12:10-2:00PM
Calendar DescriptionThis course will cover the basics of embedded system organization, system on programmable-chip technologies and real-time systems. It provides the advance knowledge required for embedded computer design and development as well as real-time operating systems. Students are introduced to software development concepts applicable to real-time and embedded systems. Particularly ARM Cortex M3 will be studied as a representative embedded processor and embedded software development is carried out for ARM Cortex CPUs. The students will be able to grasp the main principles of embedded system design and understand the concept of hardware-software codesign, system on programmable chip (SoPC), real-time operating systems and scheduling techniques. Embedded system co-specification and partitioning is also introduced in the course. SystemC or other languages (e.g. UML, C, etc.) can be employed to present a unified view of the embedded systems. SystemC is introduced as a representative Co-specification language. Embedded hardware-software design and development tools (such as Altera Quartus II and SOPC builder) will be introduced.
PrerequisitesCOE538
Antirequisites

None

Corerequisites

None

Compulsory Text(s):
  1. Daniel W. Lewis, Fundamentals of Embedded Software with the ARM Cortex M3, 2nd Edition Pearson 2013, ISBN 978-0-13-291654-7
Reference Text(s):
  1. T. Martin, The Designer's Guide to the Cortex-M Processor Family: A Tutorial Approach, Elsevier, 2013, ISBN 978-0080982960
  2. M. Wolf, Computer as Components: Principles of Embedded Computing System Design, 4th Edition, Morgan Kaufman Publishers 2016, ISBN 978-0-12-805387-4
  3. J. Yiu, The Definitive Guide to the ARM Cortex-M3, 2nd Edition, Elsevier, 2010, ISBN 978-1856179638
  4. Alan Burns and Andy Wellings, Real-time Systems and Programming Languages,Addison-Wesley 2001, ISBN 0 201 72988
  5. Some relevant data sheets and review articles to be identified by the instructor will be available at the course web page.http://www.ee.ryerson.ca/~courses/coe718/support.html
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Interconnect engineering concepts related to microprocessors, computer hardware and real-time software systems to design embedded systems for real-world applications. Learn to employ specialized knowledge of subsystems like processor cores and other hardware/software system components to design an embedded computer system. (1c)
  2. Interconnect engineering concepts related to microprocessors, computer hardware and real-time software systems to design embedded systems for real-world applications. Learn to employ specialized knowledge of subsystems like processor cores and other hardware/software system components to design an embedded computer system. (1d)
  3. Improve capabilities of using the technical knowledge of processor architecture, peripherals, programming, and CAD tools to design specific embedded computer systems. Solve various challenges of embedded software system design by employing real-time system software design methodologies to design, test and verify embedded software system design. (4a), (4c), (4b)
  4. Demonstrate the main features of the course-project and answer critical and project specific questions during project demo and oral sessions. Write project report by following a standard IEEE like format, where all the reports are evaluated based on their completeness, English, and citations. (7a), (7b)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
2.0 hours of lab/tutorial per week for 12 weeks

Teaching AssistantsTBA
Course Evaluation
Theory
Midterm Exam 25 %
Final Exam 40 %
Laboratory
Lab Reports 20 %
Project 15 %
TOTAL:100 %

Note: In order for a student to pass a course with "Theory and Laboratory" components, in addition to earning a minimum overall course mark of 50%, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section for details on the Theory and Laboratory components.


ExaminationsMidterm exam is in Week 8 (on October 21, 2019), 1.5 hours, closed book (covers Weeks 1-7 lectures and labs).
 Final exam, during exam period, two hours, closed-book (covers Weeks 1-13).
Other Evaluation InformationThere will be a 5% per day penalty for late submission of labs and project.
 There will be bonus/optional lab and project component carrying additional 4-6% marks.
Other InformationNone

Course Content

Week

Hours

Chapters /
Section

Topic, description

1

3

Introduction to Embedded and Real-time Systems


2

3

Embedded Processor Architecture ARM7 and other CPU Cores


3

3

ARMv7 and Cortex M3 Architecture


4

3

ARM Cortex M3 for Multitasking Applications


5

3

RTOS: Real time Operating Systems Pre-emptive and Non-preemptive Scheduling


6

3

Introduction to Real-time operating system (RTX environment).


7

3

Real-time Scheduling


8

3

Mid-term Exam (October 21, 2019) Duration: 1.5 Hours
 Lecture: Real-time Scheduling


9

3

Rate-Monotonic and Earliest-Deadline-First Scheduling.
 Priority Inversion Problem and its Solutions


10

3

Hardware Software Co-design and Embedded SoPC (System on Programmable Chips)


11

3

Accelerator based Embedded System Fault-tolerant Embedded Systems


12

3

Fault-tolerant Embedded Systems.


13

3

Catching up and Course review


Laboratory/Tutorials/Activity Schedule

Week

Lab

Description

2

ENG408

Lab-1: Introduction to uVision and ARM Cortex M3 micro-controller

3

ENG408

Lab-2: Exploring ARM Cortex-M3 Features
 [Due] Lab-1

4

ENG408

Lab-3a: Multitask Applications in RTX environment (Task Level)
 [Due] Lab-2

5

ENG408

Lab-3b: Multitask Application Design with RTX (Thread Level)
 Start of Course Project: Media Center Design and Implementation

6

ENG408

Lab-4: Real-time Scheduling
 [Due] Lab-3a
 [Due] Course Project Summary 1-2 pages

7

ENG408

Lab-4: Real-time Scheduling
 [Due] Lab-3b Submit
 [Due] Course Project Summary 1-2 pages

8

ENG408

Bonus/Optional Lab-Part-I: Nios-II CPU based Embedded Computer Design

9

ENG408

Bonus/Optional Lab-Part-II: Nios-II CPU based Embedded Computer Design
 [Due] Lab-4

10

ENG408

Project Progress - Demo and Interim Report

11

ENG408

[Due] Bonus Lab Part I and II

12-13

ENG408

Final Project Demo and Report Due

Policies & Important Information:

  1. Students are required to obtain and maintain a Ryerson e-mail account for timely communications between the instructor and the students;
  2. Any changes in the course outline, test dates, marking or evaluation will be discussed in class prior to being implemented;
  3. Assignments, projects, reports and other deadline-bound course assessment components handed in past the due date will receive a mark of ZERO, unless otherwise stated. Marking information will be made available at the time when such course assessment components are announced.
  4. Refer to our Departmental FAQ page for information on common questions and issues at the following link: https://www.ee.ryerson.ca/guides/Student.Academic.FAQ.html.

Missed Classes and/or Evaluations

When possible, students are required to inform their instructors of any situation which arises during the semester which may have an adverse effect upon their academic performance, and must request any consideration and accommodation according to the relevant policies as far in advance as possible. Failure to do so may jeopardize any academic appeals.

  1. Health certificates - If a student misses the deadline for submitting an assignment, or the date of an exam or other evaluation component for health reasons, they should notify their instructor as soon as possible, and submit a Ryerson Student Health Certificate AND an Academic Consideration Request form within 3 working days of the missed date. Both documents are available at https://www.ryerson.ca/senate/forms/medical.pdf.. If you are a full-time or part-time degree student, then you submit your forms to your own program department or school;
  2. Religious, Aboriginal and Spiritual observance - If a student needs accommodation because of religious, Aboriginal or spiritual observance, they must submit a Request for Accommodation of Student Religious, Aboriginal and Spiritual Observance AND an Academic Consideration Request form within the first 2 weeks of the class or, for a final examination, within 2 weeks of the posting of the examination schedule. If the requested absence occurs within the first 2 weeks of classes, or the dates are not known well in advance as they are linked to other conditions, these forms should be submitted with as much lead time as possible in advance of the absence. Both documents are available at www.ryerson.ca/senate/forms/relobservforminstr.pdf. If you are a full-time or part-time degree student, then you submit the forms to your own program department or school;
  3. Academic Accommodation Support - Before the first graded work is due, students registered with the Academic Accommodation Support office (AAS - www.ryerson.ca/studentlearningsupport/academic-accommodation-support) should provide their instructors with an Academic Accommodation letter that describes their academic accommodation plan.

Academic Integrity

Ryerson's Policy 60 (the Academic Integrity policy) applies to all students at the University. Forms of academic misconduct include plagiarism, cheating, supplying false information to the University, and other acts. The most common form of academic misconduct is plagiarism - a serious academic offence, with potentially severe penalties and other consequences. It is expected, therefore, that all examinations and work submitted for evaluation and course credit will be the product of each student's individual effort (or an authorized group of students). Submitting the same work for credit to more than one course, without instructor approval, can also be considered a form of plagiarism.

Suspicions of academic misconduct may be referred to the Academic Integrity Office (AIO). Students who are found to have committed academic misconduct will have a Disciplinary Notation (DN) placed on their academic record (not on their transcript) and will normally be assigned one or more of the following penalties:

  1. A grade reduction for the work, ranging up to an including a zero on the work (minimum penalty for graduate work is a zero on the work);
  2. A grade reduction in the course greater than a zero on the work. (Note that this penalty can only be applied to course components worth 10% or less, and any additional penalty cannot exceed 10% of the final course grade. Students must be given prior notice that such a penalty will be assigned (e.g. in the course outline or on the assignment handout);
  3. An F in the course;
  4. More serious penalties up to and including expulsion from the University.

The unauthorized use of intellectual property of others, including your professor, for distribution, sale, or profit is expressly prohibited, in accordance with Policy 60 (Sections 2.8 and 2.10). Intellectual property includes, but is not limited to:

  1. Slides
  2. Lecture notes
  3. Presentation materials used in and outside of class
  4. Lab manuals
  5. Course packs
  6. Exams

For more detailed information on these issues, please refer to the Academic Integrity policy(https://www.ryerson.ca/senate/policies/pol60.pdf) and to the Academic Integrity Office website (https://www.ryerson.ca/academicintegrity/).

Important Resources Available at Ryerson

  1. The Library (https://library.ryerson.ca/) provides research workshops and individual assistance. Inquire at the Reference Desk on the second floor of the library, or go to library.ryerson.ca/guides/workshops
  2. Student Learning Support(https://www.ryerson.ca/studentlearningsupport) offers group-based and individual help with writing, math, study skills and transition support, and other issues.