HelenOS USB USB USB for HelenOS Software project Architecture - - PowerPoint PPT Presentation

helenos usb
SMART_READER_LITE
LIVE PREVIEW

HelenOS USB USB USB for HelenOS Software project Architecture - - PowerPoint PPT Presentation

HelenOS USB USB team Introduction HelenOS USB USB USB for HelenOS Software project Architecture USB framework (supervisor M. D eck y) Drivers Demonstration Summary . Slov M. Dek anek, V. Hork y, M. Klonfar, L ak, J.


slide-1
SLIDE 1

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

HelenOS USB

Software project (supervisor M. Dˇ eck´ y)

  • M. Dek´

anek, V. Hork´ y, M. Klonfar, L ’. Slov´ ak, J. Vesel´ y

Faculty of Mathematics and Physics, Charles University in Prague

slide-2
SLIDE 2

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Project goals

◮ USB framework ◮ Host controller drivers ◮ HID driver

slide-3
SLIDE 3

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

USB highlights

◮ Architecture for connecting peripherals ◮ Device discovery and configuration ◮ Hot plug & unplug, power management

slide-4
SLIDE 4

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Physical topology

EHCI UHCI Hub Bluetooth Keyboard Hub Webcam Printer ?

slide-5
SLIDE 5

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Host controllers – masters of the bus

◮ UHCI (USB 1.1) ◮ OHCI (USB 1.1) ◮ EHCI (USB 2.0)

slide-6
SLIDE 6

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Devices – slaves of the bus

Device Configuration Interface

slide-7
SLIDE 7

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Drivers in HelenOS

Device manager Application HC driver Device driver Hardware

IPC IPC IPC IPC (data) IPC (data) HW access

slide-8
SLIDE 8

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Layered architecture

HC driver HC/hardware specific Bus driver (usbhost) Generic driver (drv) IPC Function driver Class/device specific USB pipes (usbdev) Generic driver (drv) IPC Logical Actual

slide-9
SLIDE 9

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

USB framework

◮ Communication API ◮ Wrappers for standard requests ◮ Generic data structures and functions

slide-10
SLIDE 10

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

USB infrastructure drivers

◮ UHCI ◮ OHCI ◮ EHCI stub (hand off routine) ◮ Started for tested controllers only ◮ Hub

slide-11
SLIDE 11

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Multi interface devices

HID

(101 PC)

HID

(multimedia)

Fingerprint reader USB keyboard with fingerprint reader HID driver HID driver Vendor driver Supplied with OS Provided by vendor Multi-interface device driver

slide-12
SLIDE 12

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

HID driver

◮ Keyboard ◮ Mouse ◮ Multimedia keys ◮ Interface for applications

slide-13
SLIDE 13

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Demonstration

(switch to another input, you . . . )

slide-14
SLIDE 14

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Goal accomplishment

◮ USB framework

◮ Host controller drivers

◮ HID driver

◮ Extra

◮ EHCI stub ◮ Mass storage device stub ◮ lsusb and usbinfo utilities

slide-15
SLIDE 15

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Future work

◮ Support for multimedia devices ◮ Device unplug ◮ Power management ◮ More class drivers

slide-16
SLIDE 16

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Behind the scene. . .

◮ 5 member team ◮ Regular meetings every week ◮ Several collective coding weekends ◮ Trac & mailing list

◮ Over 200 tickets ◮ Links to many resources

◮ About 30K lines of code

◮ excluding 12K lines with comments

◮ Already merged into mainline

slide-17
SLIDE 17

HelenOS USB USB team Introduction

USB

USB for HelenOS

Architecture USB framework Drivers Demonstration

Summary

Thank you. Questions? http://helenos-usb.sourceforge.net/

http://www.helenos.org/ http://www.usb.org/