CPRE 594 Embedded Systems Research Skills Lecture 11: Tue 4142009 Class Projects, Linux Driver Intro - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

CPRE 594 Embedded Systems Research Skills Lecture 11: Tue 4142009 Class Projects, Linux Driver Intro

Description:

Reconfigurable Computing Laboratory. Iowa State University. Ames, Iowa, USA ... Choose fun/cool project to work on. Make an embedded system do what you want ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 10
Provided by: phillip77
Category:

less

Transcript and Presenter's Notes

Title: CPRE 594 Embedded Systems Research Skills Lecture 11: Tue 4142009 Class Projects, Linux Driver Intro


1
CPRE 594Embedded Systems Research SkillsLecture
11 Tue 4/14/2009(Class Projects, Linux Driver
Introduction)
Instructor Dr. Phillip Jones (phjones_at_iastate.edu
) Reconfigurable Computing Laboratory Iowa
State University Ames, Iowa, USA http//www.ece.ia
state.edu
http//class.ece.iastate.edu/cpre594/ and WebCT
2
Outline
  • Class Project Idea presentations and Feedback
  • Introduction to Linux Kernel drivers

3
Class Project Ideas
  • What did you come up with?

4
Class Projects
  • Objectives
  • Choose fun/cool project to work on
  • Make an embedded system do what you want
  • Generate a well documented report of what you did
    so others can learn from your experience
  • Deliverables
  • Short update each week
  • What is your progress.
  • What interesting things did you come across.
  • Final presentation, and documentation turned in
    on day of Final

5
Linux Drivers
  • The most well know source for learning how to
    develop Linux drivers
  • Linux Device Drivers 3rd Edition (Alessandro
    Rubini)
  • http//lwn.net/Kernel/LDD3/
  • Chapters 1-3 give the basics to get you going.
  • Goals
  • Write a character device driver for Linux
  • Ideally write a driver for the ML507 that
    interfaces to a device
  • Example Devices LEDs, DIP switches

6
Linux Drivers Overview
  • Linux is made up of two major parts
  • User Space Users limited to interacting with
    allocated
  • virtual address space
  • Kernel Space Can access anything!!
  • VERY easy to crash your computer if you are not
    careful,
  • Well even if you are careful

User Space
Hello World
Socket Programming
Kernel Space
Ethernet
Hardware
PCI
CPU
USB
UART
7
Linux Drivers Overview
  • Linux Device Drivers Allows user apps to talk to
    devices
  • Two types
  • Static compiled into the kernel space
  • Loadable can be added to the kernel at run-time
  • Device driver code has the same power as the
    kernel. It is kernel code.

User Space
Hello World
Socket Programming
Kernel Space
PCI driver
Ethernet
Hardware
PCI
CPU
USB
UART
8
Linux Drivers Overview
  • Linux Device Drivers Core functions
  • Initialize module_init(function 1)
  • Read read from a device, Write write to a
    device
  • IOCTL part of File Operation (f_op) data
    structure
  • Allows userspace applications to access driver
    functions
  • Chapter 6, Advanced Character driver
  • Clean up module_exit(function 2)

User Space
Hello World
Socket Programming
Kernel Space
PCI driver
Ethernet
Hardware
PCI
CPU
USB
UART
9
Assignment
  • Create 3-5 side to present you project(s) idea
  • Read chapters 1-3 of Linux Device Drivers
  • Chapter 6 to learn about ioctl.
Write a Comment
User Comments (0)
About PowerShow.com