Embedded Systems Design Summer
Instructor: George Rudolph, Summer Instructor Info Instructor: George Rudolph Instructor: George Rudolph Office Hours: M, W one hour before class Office Hours: M, W one hour before class Contact Contact 225 Thompson Hall
Instructor: George Rudolph, Summer Course Overview Preparatory labs & in-class activities Preparatory labs & in-class activities 3 projects 3 projects 1 Exam 1 Exam 1 Final 1 Final Some Homework Some Homework
Instructor: George Rudolph, Summer Goals Give you skills, concepts and information that will Make you a better engineer Make you a better engineer Add to your value as an employee Add to your value as an employee Light your fire Light your fire Education is not the filling of a pail, but the lighting of a fire. William Butler Yeats
Instructor: George Rudolph, Summer Goals Learn tools Learn tools Can use them, not an expert Can use them, not an expert Primary focus is software development Primary focus is software development Learn Embedded Systems Concepts Learn Embedded Systems Concepts Deal Intelligently with Concepts/Issues Deal Intelligently with Concepts/Issues Generalize skills learned in this course Generalize skills learned in this course Hands-on fun Hands-on fun Get close to modern hardware Get close to modern hardware Real-time Java programming Real-time Java programming Build with Legos Build with Legos
Instructor: George Rudolph, Summer Course Mechanics Course is project-driven Course is project-driven Work in teams Work in teams Activities and Lectures will be interleaved during class Activities and Lectures will be interleaved during class Minimize time spent outside class on projects Minimize time spent outside class on projects Testable Material Testable Material Questions in Primer Questions in Primer Variations from Variations from Tutorials Tutorials Papers Papers
Instructor: George Rudolph, Summer “ Housekeeping lssues” Circuit Cellar magazine Circuit Cellar magazine Enter special access code Enter special access code WebCT logins WebCT logins Id = last name + first initial Id = last name + first initial Last name cut to 6 or 7 letters if longer Last name cut to 6 or 7 letters if longer Last 4 numbers of SSID Last 4 numbers of SSID
Instructor: George Rudolph, Summer Successful ES Programmer Practices (Know & Do) 1. Hardware Architecture Core hardware (processor/controller) Core hardware (processor/controller) Peripherals (what is being controlled) Peripherals (what is being controlled) 2. Tools & Toolchains 3. Real-time embedded programming 4. Good concepts, techniques, habits
Instructor: George Rudolph, Summer Assessment Activity What is your experience with Hardware (alot, some, none) Windows or Linux OS (alot, some, none) Other OS (alot, some, none) Programming (a lot, some, none) Java (alot, some, none) Embedded Systems (a lot, some, none)
Instructor: George Rudolph, Summer Why Use Legos? Popular Readily available No soldering required Quickly experiment with alternate physical designs Mindstorms, Technics, etc. are easy to program
Instructor: George Rudolph, Summer RCX Issues Hardware limitations of older technology Iconic programming environment hides a lot of details Good or bad depending on what you want to emphasize Issues with Java tools for RCX “non-standard” JVM, tools Some language inconveniences (still?)
Instructor: George Rudolph, Summer What is this JCX thing? Lego-compatible hardware Java bytecode is the machine language Standards-based JVM and full language J2ME CLDC 1.0-compliant Real-time extensions to Java language Can compile and execute code using J2SE Don’t use classes that aren’t part of J2ME CLDC DO stub out hardware-dependent sections of code Only have 3 units Not nicely packaged like the Brick
Instructor: George Rudolph, Summer Why Choose Java? See WhyJava.html WhyJava.html