Embedded System Development Lecture 1 1/10/2007 CS590 Embedded System Development Lecture 1 1/10/2007
Introductions Who am I? Who are you?
Class Rules Please be on time. No food or drinks. Turn off cell phones and such. Computers must be off during lecture.
General Class Information Book Email Class Website: users.ipfw.edu/simunekp/2007_cs590/cs590.html
Grading 90-80-70-60 Scale Mid-term Exam 100 pts Homework (5-8) 100 pts Mid-term project report 100 pts Final project report 100 pts Final Exam (optional) 100 pts
General Course Outline Overview of Embedded Systems Hardware Design Basic Digital Logic Concepts Timing Diagrams Data Sheets Schematics Microcontroller/Microprocessor
General Course Outline Hardware Design Direct Memory Access Interrupts Bus Structures Memory Bus Peripherals
General Course Outline Hardware Design The User Interface Displays Data Communication Miscellaneous Topics
General Course Outline The Selection Process Packaging the Silicon Adequate Performance RTOS Availability Tool Chain Availability Other Issues in the Selection Process
General Course Outline The Execution Environment Memory Organization Code Space Data Space I/O Space System Startup Reset Behavior
General Course Outline Survey of Software Architectures Round-Robin Round-Robin with Interrupts Function-Queue-Scheduling Real-Time Operating Systems
General Course Outline Introduction to Real-Time Operating Systems VxWorks Examples Tasks Task States Semaphores Shared Data
General Course Outline Introduction to Real-Time Operating Systems Message Queues Mailboxes Pipes Timers Events
General Course Outline Software Development Tools Compilers Integrate Development Environments Linker Locators
General Course Outline Hardware Tools ROM Emulator Logic Analyzer BDM & JTAG In-Circuit Emulator
General Course Outline Debugging Testing
The First Quiz Rate yourself on the following (0 = no experience, 10 = expert) with a comment if you can: Hardware Assembly Language Programming C Programming After seeing the general course outline, are there any areas or topics you would like to see covered?
Why Embedded Systems Are Different Embedded systems are dedicated to specific tasks Embedded systems are supported by a wide array of processors
Why Embedded Systems Are Different Embedded systems are usually cost sensitive Embedded systems have real-time constraints Time-sensitive constraints – soft real-time Time-critical constraints – hard real-time
Why Embedded Systems Are Different If an embedded system is using an operating system at all, it is most likely using a real-time operating system (RTOS) The implications of software failure are much more severe in embedded systems Hardware assists for failure recovery – watchdog timer
Why Embedded Systems Are Different Embedded systems often have power constraints Embedded systems often must operate under extreme environmental conditions
Why Embedded Systems Are Different Embedded systems have far fewer system resources than desktop systems Embedded systems often store all their object code in ROM
Why Embedded Systems Are Different Embedded systems require specialized tools and methods to be efficiently designed Embedded microprocessors often have dedicated debugging circuitry
Challenges of Embedded Software Throughput Response Times Testability Debugability Reliability
Challenges of Embedded Software Memory Space Program Installation Power Consumption Processor Hogs Cost
The Embedded Design Life Cycle Phase 1 – Product Specification Phase 2 – HW/SW Partition Phase 3 – Iteration and Implementation Hardware specific functionality – floating point, encryption
The Embedded Design Life Cycle Phase 4 – Detailed HW/SW Design Phase 5 – HW/SW Integration Phase 6 – Acceptance Testing Phase 7 – Maintenance and Upgrade
Course Project We will use the PICDEM 2 Plus and MPLAB ICD 2 from Microchip (www.microchip.com) PIC 18F452 Information links on class website Teams of 3-4 people
Course Project Mid-Term Document & Presentation Explanation & Justification of Project Requirements Resource Allocation & Timeline Test Plan Risks Development Environment Future Enhancements
Course Project Final Document & Presentation Demonstration Results Problems Future Enhancements Proposal