Jacky Baltes <firstname.lastname@example.org>
- Test 2 consists of three parts (worth 15 points each): Timers and Interrupts, Concurrency and Semaphores, and AVR Assembly Language. Questions similar to Test 1. No definition or long answer questions. I want to know if you can understand and apply the various algorithms.
- Piezo speaker output for “Hello World” (About as good as it gets on the piezo)
- Demonstrations for Assignment 3a will be Friday, 1st April 2016
- Test 2 will be held on Wed. 6th April 2016 in Machray Hall 315
- Class on Monday, 28th March 2016: the TA will cover three exercises for ASM to C translation, I will be back on Tue.
- Assignment 3b is available now.
- Deadline for Assignment 3a extended until Monday, 21st March 2016 at 23:59
- Assignment 3 is released now.
- Deadline for Assignment 2 extended until Monday, 7th March 2016 at 23:59
- Updated version of Cooperative OS for AVR Butterfly
- Deadline for Assignment 2 extended until Friday, 4th March 2016 at 14:30
- Comments about Midterm Test
- Topics: Everything discussed in class
- Most questions focus on algorithms and datastructures. You need to implement several programs in C for the AVR Butterfly. For analysis style questions, I think of Input $I, Algorithm/Datastructure $A, and Output $O as 3 parameters of the system. I often give two and ask you for the third. Simplest case is: What is the output of algorithm $A/trace the execution of algorithm $A, given input $I? But I can also ask: Here is the output $O of algorithm $A, what was the input $I? Or here is $I and $O, what parameters were used for $A?
- No long answer questions
- There are 3 questions on the midterm, grouped into three sections.
- Late submission policy for Sound and Co-operative OS Assignment updated.
- You are allowed to create one cheat sheet for yourself and use during the midterm: (a) maximum size is US letter sized, (b) you can write on both sides of the cheat sheet.
- Old exams added
- Class on Friday, 26th February 2016 is cancelled
- TA will do demo for Assignment 1 and will cover Pitfalls in Using setjmp
- Fixed error in COM1A should be 10, not 01 in sound lecture notes and added sample program
- Test 1: Wednesday, Feb. 24th 2016 at 14:30 in Machray Hall 315
- Demonstration of Tea Timer, Monday, Feb. 22nd 2016 at 14:30 in E2-438
- Tea timer assignment is now available
- The updated ROASS document is available here
- Page opened Mon Jan 4 21:31:57 CST 2016
This course covers a variety of topics in embedded real-time systems. Topics covered are processor and ports, interrupts, timer and event based scheduling, and software engineering methodologies for embedded systems.
The following lecture slides are available.
- Introduction to Real-Time Systems
- Sound Generation Using PWMs
- Tasks and Threads
- Co-Operative Context Switch Using setjmp
- Pitfalls in Using setjmp
- Context Switch Via Interrupts
- AVR GCC Inline Assembler
- AVR Assembly Language
- AVR Assembly Language Exercise
- Analog to Digital Conversions
- Disabling the JTAG Port
- Some more AVR Assembly Language Exercises
The following links lead to the assignments.
- Tea Timer Assignment
- Sound and Co-operative OS Assignment
- Two parts
- Pre-emptive OS kernel
- Wave Player
The following are links to same sample code provided for the course.
- Hello World Sample Program
- Buttons Sample Program
- Simple Sound Sample Program
- Additive Synthesizer
- Simple Co-operative Multitasking Kernel (Unix Version),
- Simple Co-operative Multitasking (AVR Butterfly version)
- Timer0 Sample Program
- CTC Timer0 Sample Program
- Scrambled Preemptive OS Kernel
Datasheets and other Information
- AVR Butterfly Datasheet
- AVR ATMega 169 Datasheet