An embedded system is any computer system embedded in a larger product for the purpose of monitoring or controlling some part of the larger system. Embedded systems, unlike general-purpose computer systems, are highly optimized to deliver the best application-specific performance possible under a wide and varying set of constraints. In this course, we will cover the basic elements of embedded system design, including system specification and modeling, the components of embedded hardware and software, and techniques for system validation, evaluation, and optimization. The goal of this course is to familiarize students with each of these aspects of embedded system design and both their relationship with one another and with design and optimization as a whole.
What will I learn?
Is this course for me?
What's the text book?
How is my grade determined?
What are the in-class and homework activities?
What's the policy on late work?
Where's that line about academic integrity?
Further important information about the course is available from the course guide but beware since some of this information is no longer accurate.
Through this course, you will become familiar with the principles of design for embedded systems, be able to apply the various models used for describing components of computation and the protocols for communication between them, understand the fundamentals of embedded system hardware and software, and associated evaluation and validation techniques. Through the term project, you will gain experience developing a working embedded system on an industrially relevant hardware platform.
Specific course topics, as described in the calendar entry are as follows: Definition, structure and properties of embedded systems. Real-time programming: interrupts, latency, context, re-entrancy, thread and process models. Microcontroller and DSP architectures, I/O systems, timing and event management. Real-time kernels and services. Techniques for development, debugging and verification. Techniques for limited resource environments. Networking for distributed systems.
There is no examination in this course. Instead, as described in
detail in the table below, your grade will be based on regular
assessments of your learning and on your work on the
term project.
assessment of learning (regular quizzes, worst grade dropped) | 50% |
individual learning | 40% |
group learning | 10% |
project activities | 50% |
milestone deliverables | 35%40% |
final report | 10%8% |
demo | 5%2% |
For the term project, you will work in teams of two to
specify, model, design and implement an embedded system, using the
National Instructions myRIO development board for project
implementation. Each deliverable of the term project will be
peer-reviewed, with the quality of your assessment activities
contributing a portion of your grade. Further details will be
provided in-class.
We will use class time to review the topics covered in the assigned
readings, carry out exercises, and assess your learning, both
individually and in groups. It is important that you complete the
assigned readings
in advance of each class.
All assigned work is due at 6:00 am on each deliverable due date. In
cases of illness or other compelling reason warranting an extension,
the group must notify the instructor at least one week in advance of
the due date, in order to make special arrangements. Barring such
advance notice,
no credit will be given for late
work.
Peer-evaluations are due one week after the associated
project deliverable and will be conducted through myCourses.
Your instructor values it. Google my name with "academic integrity".
Last updated on 29 December 2022