TORONTO METROPOLITAN UNIVERSITY

Course Outline (F2024)

COE718: Embedded Systems Design

Instructor(s)Dr. Gul Khan [Coordinator]
Office: ENG448
Phone: (416) 979-5000 x 556084
Email: gnkhan@torontomu.ca
Office Hours: 11:45AM-1:00PM Monday
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), (1d)
  2. 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)
  3. 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 per week for 12 weeks
0.0 hours of tutorial per week for 12 weeks

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

Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, 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 above for details on the Theory and Laboratory components (if applicable).


ExaminationsMidterm exam is in Week 8 during lecture time slot, 70-90 minutes, (covers Weeks 1-7 lectures).
 Final exam, during exam period, 120 minutes, close book (covers Weeks 1-13).
Other Evaluation InformationThere will be a 5% per day penalty for late submission of labs and project.
 
Teaching MethodsLecture slides will also be posted on Open Course Webpage before the lecture.
 Annotated Lectures will be posted on D2L after the lectures
Other InformationNone

Course Content

Week

Hours

Chapters /
Section

Topic, description

1

3

Introduction to Embedded and Real-time Systems


2

3

Introduction to Embedded and Real-time Systems
 Embedded Processor Architecture ARM7 and Cortex M3/M4 CPU Cores


3

3

ARM Cortex M3 Architecture and Programming


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


7

3

Real-time Scheduling


8

3

Mid-term Exam (October 21, 2024 during the lecture time slot)
 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 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(L)/Tutorials(T)/Activity(A) Schedule

Week

L/T/A

Description

2

ENG408

Lab-1: Introduction to uVision

3

ENG408

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

4

ENG408

Lab-3a: RTX based Task Scheduling
 Lab-2: Due
 

5

ENG408

Lab-3a: RTX based Task Scheduling
 Lab-3a: Due

6

ENG408

Lab-3b: Real-time Scheduling for Multi-threaded Application
 

7

ENG408

Lab-3b: Real-time Scheduling for Multi-threaded Application
 Lab-3b: Due
 Start of Course Project

8

ENG408

Lab-4: Real-time Scheduling and Priority Inversion
 Start of Course Project
 Course Project Summary 1-2 pages

9

ENG408

Course Project Progress
 Lab-4: Due

10

ENG408

Course Project Progress

11

ENG408

Course Project Interim Report

12

ENG408

Project Demo and presentation

13

ENG408

Project presentation 12/13
 Project report submission - End of Week 13

University Policies & Important Information

Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website

Refer to the Departmental FAQ page for furhter information on common questions.

Important Resources Available at Toronto Metropolitan University

Accessibility

Academic Accommodation Support

Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.

Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.

Wellbeing Support

At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.

If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:

If non-crisis support is needed, you can access these campus resources:

We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.