Overview
This course introduces students to the design and analysis of computer systems that interact with the built environment. Applications of these systems impact nearly every aspect of modern life. Examples include cell phones, smartwatches, home monitoring systems, medical devices, autonomous (and non-autonomous) vehicles, UAVs, airplanes, submarines and space vehicles. As part of the course, students will learn about architecture, software, and hardware aspects of embedded systems development. The design of systems is a complex multi-objective optimization task, and students will develop an understanding of how to work within the parameters given to meet constraints (e.g. real-time deadlines, memory, disk, connectivity, power, etc.).
Textbook
- Frank Vahid, Tony Givargis, Bailey Miller, Programming Embedded Systems, Zybook.
- To order your book:
- Sign in or create an account at learn.zybooks.com
- Enter zyBook code UARKCSCE4114AndrewsFall2024
- Subscribe
- (Optional) Marilyn Wolf, Embedded System Interfacing: Design for the Internet-of-Things (IoT) and Cyber-Physical Systems (CPS), Elsevier; 2019 Edition.
Lecture Topics
Topic | Coverage |
---|---|
Characteristics of Embedded Systems | 1 week |
Basic Software Techniques | 2 weeks |
Parallel Input and Output | 1 week |
Asynchronous and Synchronous Serial Communications | 1 week |
Polling, Interrupts, Timers | 3 week |
Data Acquisition, Sampling Theory and A/D Convertors | 2 weeks |
Real Time Programming Models and Requirements | 2 weeks |
Real Time Scheduling | 1 week |
RTOS’s (FreeRTOS) | 2 weeks |
Selected topics (Trends, OS and Compiler for ES, etc …) | 1 week |
Laboratory Component
This class has a laboratory component allowing students to gain hands-on experience designing,building, and testing an embedded system. Laboratories throughout the semester build towards a final class project. The final project is at the discretion of the Instruction and may vary from semester to semester. Most recently students build an autonomous car controlled by an SoC implemented as soft IP in an FPGA running FreeRTOS using multiple sensors to control servo motors for the car to follow a track and avoid obstacles.
Learning Outcomes
- Describe the characteristics of embedded systems as well as the challenges related with their design
- Summarize the key components of an embedded system as well as their interactions
- Identify and formalize design goals (cost, power, time-to-market, etc …)
- Choose the right model and tools for capturing and analyze complex embedded systems
- Conduct a project in team and present the results in a fundamental way
- Evaluate a produced design and identify where improvements to the design could be made to improve one or more design parameters
Grading
Activity | Weight |
---|---|
2 Exams | 30% each |
Labs | 30% |
Homework | 10% |
Grading will be on a 90%-80%-70%-60% scale. Curving may be applied based on course average.