An Undergraduate Embedded Systems Design Course Based on a Commercial Embedded Operating System Jim - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

An Undergraduate Embedded Systems Design Course Based on a Commercial Embedded Operating System Jim

Description:

An Undergraduate Embedded Systems Design Course Based on a Commercial Embedded Operating System Jim – PowerPoint PPT presentation

Number of Views:146
Avg rating:3.0/5.0
Slides: 30
Provided by: spea187
Category:

less

Transcript and Presenter's Notes

Title: An Undergraduate Embedded Systems Design Course Based on a Commercial Embedded Operating System Jim


1
An Undergraduate Embedded Systems Design Course
Based on a Commercial Embedded Operating System
Jim Hamblen School of ECEGeorgia
Techhamblen_at_ece.gatech.eduWESE2007 October
4-5, 2007, Salzburg, Austria
2
Embedded Systems Design Course
Course Background
  • A jr. or sr. level undergraduate class
  • Designed to fit into IEEE/ACM/ABET model
    curricula
  • Versions exist for CS, EE, and CmpE majors
  • Prior experience of students
  • Basic Digital Logic class (gates and registers)
  • Programming classes (some C, C, or Java likely)
  • Only some have had a prior OS and Architecture
    class
  • At Georgia Tech earlier classes cover
    microcontrollers FPGAs with processor cores
  • At Georgia Tech, the course time is allocated to
    around 1/3 time each on hardware topics, software
    topics, and a final team-based design project

3
Curriculum Outline
  • Introduction to Embedded Systems
  • Embedded Systems Hardware and Software
  • Processors, Memory, Busses, I/O ports, Standard
    I/O interfaces and basics of I/O software,
    Interrupts, DMA, USB, Networking, eBox hardware
    overview
  • RTOS Architecture Features
  • OS Internal Architecture and Features, Basic APIs
  • Building a customized Kernel
  • Tutorials on OS build process, C/C and C
    development, and execution on eBox target
    hardware
  • Application Development using an OS
  • C/C, C Debug tools, common APIs, basic code
    examples
  • I/O Device Driver Development
  • Stream Drivers Serial port example driver code
    for eBox
  • Advanced OS Topics
  • BSP Development, SDK, Bootloader, Hardware Debug
    Tools, Testing, Safe Coding Rules, IP issues

4
What kinds of embedded systems are currently
being designed?
  • Most new designs are using 32-bit processors
  • Most new designs with an OS use a commercial
    off-the-shelf OS
  • Based on data from EETimes and Embedded Systems
    Design 2005-7 Annual Embedded Market Surveys
  • Would like the course to reflect current/future
    industrial trends

5
Major Goals Features of Laboratory Projects
Embedded Systems Design Course
  • Hardware Use a low-cost SoC target board for
    laboratory projects eBox 2300
  • Software Use a commercial Real-Time OS (RTOS)
    and C/C/C for applications Windows CE 6.0
  • Target board priced near textbook cost, All
    software is free
  • Make course materials labs available free to
    schools
  • Textbook with tutorials (300 pages .pdf and
    .doc files)
  • Instructor PowerPoint Slides (400)
  • Example OS Builds and C/C/C Project Code

6
Hardware SoC Development Board
  • ICOP Technology eBox 2300 MSJK
  • Hardware cost near student textbook cost (US
    145 each in qty 10 for schools with power
    supply, cables, and CE preinstalled on flash)
  • No Cost Software VS 2005, CE 6.0, eBox I/O
    drivers in Board Support Package (BSP)

7
View Inside the eBox 2300
Audio CODEC
128MB SDRAM
256MB FLASH
BIOS ROM
Ethernet Controller
Vortex86 SoC
PS/2, USB, VGA, serial, Network connectors
Bottom of PCB Mini PCI CF slot
8
RTOS Windows Embedded CE 6.0
  • Perhaps the most widely used commercial RTOS for
    embedded devices
  • Core technology used in Windows Mobile SmartPhone
    and PocketPC devices and Windows Automotive
  • Not a port of Desktop Windows - Designed from
    scratch for embedded devices
  • Initial version of CE developed in mid 1990s
  • Includes C/C/C compilers and debuggers
  • C is very similar to Java
  • Supports ARM, MIPS, SHx, and X86 processors
  • MMU is used for Virtual Memory
  • Considered a hard real-time OS

9
Real-Time Performance of CE 6.0
Hard Real-Time
Soft Real-Time
Windows XP
Hard Real-Time
Windows CE
0
1,000 µs
5,000 µs
10,000 µs
100 µs
Cycle Variation or Jitter (µs)
CE Real-Time Performance Measurements showing
Response Cycle Time. Soft and Hard Real-Time
categories are based on OMAC study and OS times
are without any third party real-time extensions
to the OS.
10
CEs Platform builder and development tools run
in the Visual Studio 2005 IDE
11
Students can have an eBox 2300 running their own
custom built CE 6.0 RTOS kernel and a hello
world application in under an hour following the
tutorials!
eBox 2300 running CE 6.0 RTOS
12
Adding External I/O using USB
  • Phidgets USB Devices ( www.phidgets.com )
  • Supports Servos, Digital, Analog I/O
  • Numerous plug-in sensor modules available
  • Free Driver shared source code projects for CE
    6.0

13
Several Phidgets mounted on a plastic case for
CE/eBox student lab projects. Includes an LCD,
LEDs, switches, ADC with 8 analog sensors, and 2
R/C servos on a pan tilt mount with an IR
distance sensor.
14
Serial I/O options for eBox
  • Cypress PSoC Evaluation Kit (CY3210)
  • Mixed-Signal Microcontroller with digital and
    analog I/Os.
  • Low Cost (35 academic pricing) but need to
    develop Firmware for serial commands
    (www.cypress.com/CUAP)
  • Includes USB Programmer
  • Serial Interface and Small Protoboard on PCB
  • USB version available (60) but no CE drivers yet
  • Free graphical software tool, C compiler, and
    assembler

15
Student Design Projects using the eBox 2300 and
CE 6.0
  • Examples of Several Team-Based Undergraduate
    Student Design Projects
  • Projects completed during last 6 weeks of
    Embedded System Class at Georgia Tech
  • With an RTOS available, most projects now include
    an interesting mix of multithreading, GUI, and
    networking features
  • All student projects were successful!

16
This project used an eBox, a Phidgets LCD,
and a Cypress PSoC board setup to receive TV IR
remote signals. It displays live RSS news feeds
on the LCD module.
17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
Students mounted an eBox on this R/C plane along
with a GPS receiver and a small battery. They
recorded flight data and displayed the data
using Google earth.
23
Students used an eBox, this Cell Phone Modem,
and several Phidgets sensors to build a Remote
Weather Station. On request, it sends SMS text
messages that contain weather info.
24
New Project Developments this Fall
  • Free BSP for a new target board
  • New low-cost robot base
  • Drivers now available for a web camera

25
USB WebCam
  • USB webcam driver for Windows CE
  • Supports Logitech QuickCam Pro 5000 (65)
  • Free Driver source code shared project for CE
  • (http//msdn.microsoft.com/embedded/community/comm
    unity/CommunityProjects/)

26
Gumstix Connex Embedded Computer Board(size of a
stick of gum www.gumstix.com)Microprocessor
Marvel 400Mhz XscaleOS DrumStix community
project developing a BSP for Windows CEGreat
low-power CE target board for student projects.
New Target board BSP
27
iCreate Robot Base for the eBox
  • Low-cost robot base for projects (www.irobot.com
    )
  • A roomba without the vacuum parts
  • Used for a Sumobot contest at a recent
    professional conference (MEDC 2007)

28
Imagine Cup Student Design Contest
  • Embedded Development Invitational
  • Teams of 2-4 students develop a project
  • eBox hardware and CE 6.0 used in 2007 2008?
  • Project reports from 2007 are available
    http//imaginecup.com/competition/Finalists.aspx
  • Top 200 Student teams provided a design kit
  • Next Finals in Paris in July
  • More info at www.imaginecup.com

29
Questions/Comments
  • Textbook and Instructor Slides are available at
  • http//www.academicresourcecenter.net/curriculum/
  • search for Introduction to Embedded Systems
Write a Comment
User Comments (0)
About PowerShow.com