peek into linux_device_driver_kit

Post on 03-Jul-2015

305 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Emertxe's presentation in Open Source India 2014 about an innovative self-learning kit we have created. Linux device drivers is often perceived as a difficult topic, that prevents students, enthusiasts and professionals from learning it. This presentation talks about various features (Board, SDK and sample code) of the kit.

TRANSCRIPT

A peek into Linux Device Driver Kit

OSI Days – 2014

November 7 & 8, NIMHANS, Bengaluru

Topics

Brief Introduction

Motivation & Challenges

Overview of the kit

Areas to explore

Conclusion

Brief Introduction

About Us Emertxe is India’s one of the top IT finishing schools & self learning kits

provider. Our primary focus is on Embedded with diversification focus on IT

applications.

Our IT finishing school providers training programs for corporate,

professionals and students in the following areas:

o Embedded Systems (Beginners)

o Advanced Linux workshops (Professionals)

o IT Applications (Java, Android, Oracle)

Our product division works on IoT based solutions with major focus in

Embedded aspect by focusing on the following areas:

o Hardware design

o Product engineering, integration and solutions

o Linux porting and tuning

o Embedded application development

Our visionTw

o f

old

“Vis

ion”

EducationContribute to “industry-

academia” gap

SolutionsBuild solutions to solve “common-problems”

“M

ake lif

e e

asi

er”

Motivation & Challenges

Motivation

Diverse Hardware

(Customisations, Multiple-vendor, Optimisation)

Lack of resources

(Formal courses, documentation, support)

Setup and installation

(SDKs, tool-chain, configuration)

Too geeky!

(Fear of getting bullied)

Practical challenges

Hard to learn

(Professionals, Enthusiasts, Students)

No special devices

(Most of them are fits-for-all)

Enriched learning

(Character, Block, multi-peripherals)

Higher entry barrier

(Giving up!)

Some questions!

Which driver should I work on to begin with?

Can I see some sample drivers?

I do not have specific hardware, where I can find one?

Can I write char, block drivers. What about interrupts?

I would like to implement USB, SCSI, Serial and Audio drivers. How to?

Well a lot of can's, but we have something for you!

Overview of LDD Kit

Overview of LDD kit

• Dedicated board

• Rich peripheral support

• On-board DFU interface for upgrading

• Can act as a normal MC device as well

Hardware

• Currently supports Ubuntu distributions

• Completely based on Open source

• Firmware stack based on LUFA

• AVR-GCC compiler

SDK

• Well documented setup & quick start guide

• Sample device driver code

• Test harness for validation and debugging

Get “hands-dirty”

How it looks?

Hardware specifications

Atmel AT90USB162

2×16 Character LCD

RS232

8 LEDs

4 User Inputs

4 Seven Segment

Displays

Hardware specifications

USB Powered

Audio Output Interface

SD (MMC) Card Support

(Using SPI Interface)

8 GPIO Header

DFU Programmable (on-

board)

Block diagram

USB Host Controller

Host Controller

Driver

USB Core

Device Driver-2

System Call

Interface

User Application

Kernel

LDD kit

Users

Device Driver-1 Device Driver-3

What you can create?

RS232 interface (i/p and o/p)

Interrupt handling (switches)

I/O control

Timers (LED control)

Synchronization mechanisms

SD/MMC Card driver

SCSI Implementation

USB Protocol

SCSI over USB

Simple drivers for LED, SSD, LCD

USB to Serial converter

Mass storage driver

USB Audio

Input drivers

Chara

cte

r

Blo

ck

USB

Summary

Learning Linux device driver development is challenging

Our LDD kit tries to solve challenges by:

Having a dedicated hardware with very rich in peripherals

Larger problem of software is resolved by well documented &

supported SDK

Having sample source code & self-learning stuff

By having whole ecosystem built with open source

With this we believe:

To make the learning easier

Contribute and make a difference to students, professionals and

enthusiasts

Provide practical real-time learning experience

Stay connected

Mubeen Jukaku: mubeenj@emertxe.com

Emertxe Information Technologies,

No-1, 9th Cross, 5th Main,

Jayamahal Extension,

Bangalore, Karnataka 560046

T: +91 80 6562 9666

https://www.facebook.com/Emertxe https://twitter.com/EmertxeTweet https://www.slideshare.net/EmertxeSlides

THANK YOU

top related