|
|
|

|
Course 1: Embedded System Fundamentals, Spring
|
These modular courses are designed for students who do not have a proper background for the
subsequent courses in the Real-Time Embedded Systems sequence. The Spring offering
consists of three one-credit hour courses. Students should take only the necessary courses and
earn credit accordingly.
EECE 533, Section C: Real-Time Electronics
Hours: 1 CR, Spring
Lab
Embedded systems designers are often required to interconnect basic hardware devices to core
microprocessors. Such devices include memory (RAM and ROM), DIP switches, LEDs, and peripheral
device ICs in the same and/or different processor families. This course covers the basics of hardware
interconnections and includes the following topics:
1. Introduction to number systems and Boolean logic
2. Design and implementation of gate level circuits (also covers logic family characteristics, such as
TTL and CMOS device characteristics) and PLD (Programmable Logic Devices), and address decoding
3. Introduction to finite state machines and their implementations using logic gates and flip-flops.
This course is not available to students with credit in EECE 241.
Pr.: PHYS 113 or PHYS 213.
CIS 522, Section A:
Introduction to Real-Time Data Structures
Hours: 1 CR, Spring Implementation of many parts of micro-kernels and network protocols is based on fundamental data structures. In this module, we intend to cover basic data structures such as stacks, queues, lists, and priority queues and algorithmic techniques for sorting, searching and hashing. We will emphasize modularity and reuse whereby existing data structure implementations can be specialized to derive more specialized data structures. We will also introduce the concept of object-oriented design and interface specifications. This course is not available to students with credit in CIS 300.
Pr.: C or C++ programming.
CIS 523, Section B: Concurrent Programming Fundamentals
Hours: 1 CR, Spring
Under an asynchronous embedded-system environment where the system controls multiple devices and
responds to interrupts from various peripherals, concurrent programming is more appropriate than single
threaded programming. Produces concurrent programming techniques based on message passing primitives
(send/receive) and shared memory primitives (semaphore based P/V operations and Monitor based
wait/signal operations).
Pr.: C, or C++ programming and CIS 300 or CIS 522.
|
|
Course 2: Real-Time Embedded Systems I, Fall
|
The following courses are to be offered each Fall . The schedule and place may change but the overall
structure remains the same. In this course, students implement simple but complete real-time embedded
systems. The course consists of three modules:
CIS 621, Section A:
Real-Time Programming Fundamentals
Hours: 1 CR, First Five Weeks, Fall
Relationship between C/C++ constructs and corresponding assembly code generated by compilers.
Introduction to special techniques used to implement microcontrollers, such as initialization of programmable
CPU modules/peripheral devices, techniques to link assembly and C/C++ codes, producing ROM-able code
and EPROM burning/Flash programming.
Pr.: C, or C++ programming and either CIS 300 or CIS 522.
CIS 622,
Section A: Real-Time Operating Systems
Hours: 1 CR, Second Five Weeks, Fall
Basic real-time operating systems concepts and services; interrupt processing; process and thread models;
real-time software architectures and development environments. Detailed study of the design and
implementation of real-time applications using real-time operating systems. The focus will be on
commercial real-time operating systems/development environments, including vxWorks/Tornado and
pOSEK/pOSEKSystem.
Pr.: CIS 621
EECE 633, Real-Time Embedded Systems
Section A:
Hours: 1 CR, Third Five Weeks, Fall
This module deals with the interconnection of complex peripherals, such as CAN networks, DA/AD converters,
and Timers. Students implement device drivers and applications on top of real-time operating systems and
bare hardware. Students build simple, but complete, distributed real-time embedded systems.
Pr.: CIS 621 and CIS 622.
|
|
Course 3: Real-Time Systems, Spring
|
CIS 721,
Section A: Real-Time Systems
Hours: 3 CR, Spring
The design of hard real-time embedded systems, including language and operating system support,
scheduling theory, schedulability analysis, fault tolerance, and design tools.
Pr.: CIS 520 or (CIS 622 and EECE 633).
|
|
Course 4: Real-Time Embedded Systems Design, Spring
|
EECE 733, Section A: Real-Time Embedded Systems Design
Hours: 3 CR, Spring
Capstone design course.
Pr.: CIS 520 or (CIS 622 and EECE 633).
Co-requisite: CIS 721.
|
|
|