Contents |
General Information
|
On individual or immediate matters, contact your instructor or associate instructor via email.
We very much like to talk to students after class or in posted
office hours.
Email can be awkward for detailed answers, so reread your email
note before you send to make certain that it is clear.
A very good use of email is to schedule an appointment
for technical conversations.
If you have a personal emergency, by all means send us email.
If other office hours are necessary, we'll
move some or post more.
This course is designed very much by Professor Geoffrey Brown. C335 will explore how programs written in a high level language are evaluated by a processor to control the physical world. In particular, we will use C to write programs that control "Goofy Giggles" - a 3 wheeled robot with an embedded processor, an infrared (IR) remote control, an audio system, and various sensors. In the process we will touch topics covered in a number of subsequent CS classes including compilers, operating systems, computer architecture, and digital design. It's obvious that we will be skimming the surface of these topics; for example, we will examine what a compiler and its associated tools (assembler, linker) do in some detail, but not how they are implemented to perform their function. Our goal is that at the end of this course every student will be able to explain, in technically accurate manner, the path from program to I/0 and will be proficient in using one representative set of tools to write programs to control a defined physical world - Goofy Giggles. The progression of experiments introduces embedded system programming, programmed I/O, IR communications, PWM motor control, A/D based sensors, interrupts, and DMA.
| Week | Monday | Wednesday | Lab |
| 1, Jan12 | Intro, UNIX | Unix Shell/C |
Shell/Editor Tutorial
due Jan 22--23 |
| 2, Jan19 | Martin Luther King, Jr. |
C / Make
HW1 due Jan. 26 |
C/gdb
due Jan. 29--30 |
| 3, Jan26 | Make/Data Repr. |
Numbers
HW2 due Feb. 4 |
Numbers
due Feb. 12---Feb. 13 |
| 4, Feb2 | Numbers |
LPC computer
HW3 due Feb. 11 |
Numbers
due Feb. 12--13 |
| 5, Feb9 | Review and QUIZ |
ARM Instruction Set
Sec. 2.0--2.3, Chap. 3 HW4 due Feb. 18 |
Goofy can C.
|
|
6, Feb16 Career Fair Feb17 |
ARM Instruction Set
Chap. 3 Career Fair Feb17 |
Embedded Prog, Communication to Goofy
HW5 due Mar. 9 |
Lights and Switches
due Feb. 26--27 |
| 7, Feb23 | Embedded Prog |
Goofy IR reception
|
Motors and Sound
due Mar. 5--6 |
| 8, Mar2 |
More on IR C to Assembly | C assembled |
IR Decoder pt. 1
due Mar. 12--13 |
| 9, Mar9 |
Assembly optimization
Exercise due: HW5 HW6 due Mar. 25 and a solution | Assembly optimization |
IR Decoder pt. 2
due Mar. 26-27 |
| Mar16 | recess | recess | Goofy can see. |
| 10, Mar23 | Interrupts | Interrupts |
GG Resurrection
due Apr. 2--3 |
| 11, Mar30 | Interrupts | TEST and an answer key. |
Drive by wire
due Apr. 9--10 |
| 12, Apr6 | Logic/Adders | Logic/Adders |
Interrupts
buttonmain.c main-lec.c due Apr. 16--17 |
| 13, Apr13 | Processor as Interpreter |
Processor as Interpreter
Bring 6 copies of this sheet. HW7 due Apr. 22 |
Hi Jack! Attacking the OS due Apr. 30--May 1. |
| 14, Apr20 | Processor as Interpreter | The Memory Hierarchy; read textbook Chap. 14.1--14.3. | work |
| 15, Apr27 | Array access | Bill Hohl, ARM presentation | Final reports due |
| 16, May4 | study | study |
May 8 FINAL EXAM 10:15am--12:15pm With prior arrangements, one can start as late as ???? |
![]() |
![]() |
![]() |
![]() |
|
![]() |
|
Page Owner: David S. Wise
Last Modified: 2009 January 12 |