Spring 2021 - CMPT 433 D100

Embedded Systems (3)

Class Number: 6374

Delivery Method: Remote

Overview

  • Course Times + Location:

    Jan 11 – Apr 16, 2021: Mon, Wed, Fri, 9:30–10:20 a.m.
    Burnaby

  • Exam Times + Location:

    Apr 24, 2021
    Sat, 8:30–11:30 a.m.
    Burnaby

  • Prerequisites:

    CMPT 295 and CMPT 300.

Description

CALENDAR DESCRIPTION:

The basics of embedded system organization, hardware-software co-design, and programmable chip technologies are studied. Formal models and specification languages for capturing and analyzing the behavior of embedded systems. The design and use of tools for system partitioning and hardware/software co-design implementation, validation, and verification are also studied.

COURSE DETAILS:

You will gain hands-on experience developing exciting embedded applications on your own 32-bit single board computer (BeagleBone Green) and our custom "Zen" cape (input/output board). Not only will you flash LEDs, but also you will read buttons, read an accelerometer, and play music! You will purchase the hardware kit through the school during the first week of class instead of buying a required textbook (at similar in cost to a textbook). By the end of the course, you will be able to setup and use a Linux build environment to develop embedded Linux applications. You will have learned bare-metal development (no OS), Linux device driver creation, and be able to read basic hardware circuits. The assignments require a significant amount of time to complete. Expect to spend more time on this course than a less hands-on course. The required hardware for the course is only available through the school (or 2nd-hand from a previous student). You must either pickup the board in person from SFU, or pay for shipping and handling. We hope to have an in-person pickup day (possibly on both Surrey and Burnaby campuses). Shipping will be done via Purolator in a "Express Pack"; shipping can cost over $100. The student would be responsibly for import duties (kit value <$200CAN) and import restrictions on electronics. By early December we will contact students registered in the course to offer shipping and handling quotes. Shipping must begin in early December so hardware can arrive for early January. Please contact me (Dr. Brian) if you have any doubts about purchasing or receiving the hardware so we can work it out!

Topics

  • Embedded C and/or C++ programming.
  • Embedded Linux cross-platform application development.
  • Controlling external hardware via Linux applications.
  • Embedded application testing and cross-platform debugging.
  • Linux device driver development.
  • Bare metal embedded development (no OS) and low-level device control.
  • Understand basic hardware circuits.

Grading

NOTES:

30% assignments, 30% project, 5% Quizzes, 35% final exam. Activities and weighting will be confirmed in the first week of lectures.

Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C- or better).

Materials

MATERIALS + SUPPLIES:

Reference Books

  • Exploring Beaglebone 2nd Ed
  • Derek Molloy
  • Wiley
  • 2019
  • 9781119533160

Registrar Notes:

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS

SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html

TEACHING AT SFU IN SPRING 2021

Teaching at SFU in spring 2021 will be conducted primarily through remote methods. There will be in-person course components in a few exceptional cases where this is fundamental to the educational goals of the course. Such course components will be clearly identified at registration, as will course components that will be “live” (synchronous) vs. at your own pace (asynchronous). Enrollment acknowledges that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes. To ensure you can access all course materials, we recommend you have access to a computer with a microphone and camera, and the internet. In some cases your instructor may use Zoom or other means requiring a camera and microphone to invigilate exams. If proctoring software will be used, this will be confirmed in the first week of class.

Students with hidden or visible disabilities who believe they may need class or exam accommodations, including in the current context of remote learning, are encouraged to register with the SFU Centre for Accessible Learning (caladmin@sfu.ca or 778-782-3112).