EE475: Hardware and Software Engineering for Embedded Systems
Prof. Robert C. Maher
529 Cobleigh Hall (southwest corner of 5th floor)
Textbooks and Materials
- Programming Microcontrollers in C, Ted Van Sickle, 2nd edition, 2001.
- Micro C/OS-II - The Real-Time Kernel, Jean J. Labrosse , 2nd edition, 2002.
- Software and Hardware Engineering Motorola M68HC12, Fred Cady and James Sibigtroth, 2000 (text used in EE371).
- USB stick, Zip, or floppy disks for lab files.
To produce graduates who understand the basic operation of a real-time operating system and can program a real-time embedded system in the C language.
At the conclusion of EE 475, students will be able to:
- Explain real-time concepts such as preemptive multitasking, task priorities, priority inversions, mutual exclusion, context switching, synchronization, interrupt latency and response time, and semaphores.
- Describe how a real-time operating system kernel is implemented.
- Explain how tasks are managed.
- Explain how the real-time operating system implements time management.
- Discuss how tasks can communicate using semaphores, mailboxes, and queues.
- Implement a real-time system on an embedded processor.
Class Outline (subject to change)
- Course introduction: Expectations, lab resources, protocol.
- Introduction/review of C Language (4-5 weeks)
- C Language in an embedded environment (2 weeks)
- Real Time Operating System (RTOS) concepts (5 weeks)
- uC/OS-II examples (2 weeks)
- Special topics and guest speakers (1-2 weeks)
|Homework and Project:||10%||
→ Homework will be required periodically. Homework is due on the due date at the BEGINNING of class. No late homework will be accepted.
→ Lab reports are due no later than the BEGINNING of the next week's lab session,
unless otherwise announced. No late lab reports will be accepted.
→ Written in-class exam given early in October.
→ Written in-class exam given late in November.
→ The final exam is:
Grade guarantee: course letter grades may be higher (but will not be lower) than indicated by the following scale:
A- = 90%
B- = 80%
C- = 70%
D = 60%
F = 59%
A grade of F will also be given automatically if a midterm or final exam is not taken, regardless of the student's aggregate score total.
- Department policy requires that you receive a passing lab grade to pass this course.
- All students must have an electronic mail address listed with the MSU My Info system. Announcements and reminders for EE475 will be sent occasionally via email. Students will also need to get an MSU computer access account and printing privileges for the ECE Department computer labs.
- You are expected to keep a clean lab area and return items to their proper place. Equipment is expensive and is provided for your learning experience. Please conduct yourselves appropriately. Abusive behavior toward the lab equipment, other students, or the instructors, will result in summary dismissal from the course.
- You are responsible for all material covered in class and in the textbook reading assignments.
- You will work with a lab partner during the lab period, but your lab report must be prepared individually. Homework and exams also must be prepared individually. University policy states that, unless otherwise specified, students may not collaborate on graded material. Any exceptions to this policy will be stated explicitly for individual assignments. Let there be no misunderstanding regarding this policy of personal academic integrity. If you have any questions about the limits of collaboration, you are expected to ask for clarification. Submitting the work of others--with or without attribution--is dishonest and grounds for dismissal from the course.
- Late submissions of assignments (labs or homework) will not be accepted. Plan ahead and notify the instructor prior to justifiable absences, or if a bona fide emergency prevented you from attending class.