at91sam linux driver hands on introduction n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
AT91SAM Linux Driver Hands-on Introduction PowerPoint Presentation
Download Presentation
AT91SAM Linux Driver Hands-on Introduction

Loading in 2 Seconds...

play fullscreen
1 / 9

AT91SAM Linux Driver Hands-on Introduction - PowerPoint PPT Presentation


  • 141 Views
  • Uploaded on

AT91SAM Linux Driver Hands-on Introduction. Helloworld driver Just print debug information when loaded Helloworld character driver Create a character driver when loaded Support file open, close, IOCTL operaiton. Hellokeys platform driver In board file, register a hellokeys platform device

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'AT91SAM Linux Driver Hands-on Introduction' - cooper-delaney


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
overview
Helloworld driver

Just print debug information when loaded

Helloworld character driver

Create a character driver when loaded

Support file open, close, IOCTL operaiton.

Hellokeys platform driver

In board file, register a hellokeys platform device

In driver, register a hellokeys platform driver

When hellokeys platform device and driver is loaded, .probe() will be called

In .probe() the a character driver is created

Add Interrupt handling for platform driver

Sam9m10g45-EK

GPIO key

Sam9x5-EK

I2C for Qtouch button

Overview
helloworld driver
Helloworld driver

HelloWorld

Driver Module

(.ko)

print

Hello World!

insmod

Running Kernel

helloworld character driver

Register a character

device driver

Open

Close

IOCTL

Helloworld character driver

Hello world

Character

Driver Module

(.ko)

insmod

/dev/mydev

Application

Open

Close

IOCTL

Created it by commands:

mknod /dev/mydev c MAJOR MINOR

Running Kernel

hellokeys platform driver

Register character

device driver

Open

Close

IOCTL

Hellokeys platform driver

In Kernel board file,

Register “hellokeys”

platform device

Hello keys

Platform

Driver Module

(.ko)

insmod

Register “hellokeys”

Platform driver

Call platform driver’s .probe() function

/dev/mydev

Application

Open

Close

IOCTL

Created it by commands:

mknod /dev/mydev c MAJOR MINOR

Running Kernel

hellokeys platform driver1

Register character

device driver

Open

Close

IOCTL

Hellokeys platform driver

In Kernel board file,

Register “hellokeys”

platform device

Hello keys

Platform

Driver Module

(.ko)

insmod

Register “hellokeys”

Platform driver

Call platform driver’s .probe() function

/dev/mydev

Application

Open

Close

IOCTL

Created it by commands:

mknod /dev/mydev c MAJOR MINOR

Running Kernel

add interrupt handling
Add Interrupt handling

9m10g45: GPIO interrupt

Driver read() is called

9x5: QTouch interrupt

ISR

Check flag: wait_for_key

Wake up the wait queue

Set flag: wait_for_key

Wait for a wait queue

Driver read() return

Copy key_name to

User data

Shared data

Hello_keys_drvdata * my_data

more information about at91sam os ecosystem
More information about AT91SAM OS Ecosystem

AT91SAM Linux Ecosystem

http://www.linux4sam.org

AT91SAM Android Ecosystem

http://www.at91.com/android4sam

AT91SAM WinCE Ecosystem

http://www.at91.com/windows4sam

AT91SAM community forum

http://www.at91.com