- Future Students
- Academic Progams
- Undergraduate Program
- Current Semester CS Courses
- New Course Offerings
- Upcoming Semesters
- Previous Semesters
- Canonical Syllabi
- Course Access & Request Policy
- Academic Integrity Policy
- Grad Student Registration
- Variable Title Courses
- Study Abroad
- Professional Practice
- Co-Op Professional Practice
- Non-Co-Op Professional Practice
- ISS Application Process for International Students (CPT, OPT, RCL, Program Extension, COEL)
- Pass/Not Pass Spring 2020
CS 48900 Embedded Systems
Course Description
Software for embedded systems; programming with extreme constraints on memory, storage, and processing power; programming models, including synchronous, asynchronous, and concurrent; programming systems that run forever; use of Finite State Machines (FSMs); review of embedded hardware and available boards; asynchronous and synchronous serial connections (e.g., RS232 and SPI); General Purpose I/O (GPIO) pins; relays, servos, and other peripherals; design for low power; battery characteristics; systems that communicate over computer networks and the Internet; current industry practices; design of embedded projects; working in teams.
Course Outline
Week Contents
1 Introduction to embedded systems; an example hardware platform
2 Why embedded systems is taking off; computer network connections
3 The Internet of Things; Internet communication and cloud services
4 Industry status; speakers from companies using embedded systems
5 Embedded designs and student projects
6 Timed events and time management
7 Relays and control of high-voltage equipment
8 Challenges in embedded programming
9 Programming models and synchronous systems; use of FSMs
10 More programming models: asynchronous, concurrent, and distributed
11 Programming a system that runs forever; minimizing data storage
12 Serial communication (examples of RS232 and SPI)
13 GPIO and bit banging
14 Power design, sleep modes, and batteries
15 Final project presentations and demonstrations