Sei sulla pagina 1di 2

E D U C AT I O N S E R V I C E S

Linux Device Drivers Development

Wind River Education Services enables clients to unleash the power of Wind River’s tools by creating developers skilled
in Wind River technology. We provide the knowledge you need to meet your commitments and exceed your company’s
expectations. With Wind River Education Services, you will develop, run, and manage your application software faster,
better, at lower cost, and more reliably.

Course Description
Course Title Linux Device Drivers Development
The Linux Device Drivers Development course provides engineers with a
fast, cost-effective way to acquire the knowledge necessary to build, load, Duration 4 days
and debug Linux device drivers in a cross-development environment.
Format Instructor-led lectures and hands-on lab
After this course, students will be able to: sessions
• Understand the Linux boot process and role of the bootloader and
Price Contact your local sales representative
BSP
• Prepare to develop Linux I/O drivers, serial drivers, and network
drivers
• Debug Linux device drivers Related Courses
• RTOS to Linux Migration Basics
Products Supported • Workbench for Linux
• General Purpose Platform, Linux Edition 1.4 • General Purpose Platform, Linux Edition (Workbench/Linux)
• Linux Board Bring-Up and Board Support Package Development
Who Should Attend
• New and experienced device driver writers Course Format
• Application Programmers interested in seeing what goes on at the • Our four-day instructor-led courses consist of lectures and lab
hardware level sessions
• Senior engineers who want to decide on a final production image of • Students gain hands-on experience and receive personal guidance
their product from expert Wind River instructors
• Experienced developers interested in the interfaces between drivers • Students examine details of the Workbench environment, focusing
and Linux on the most commonly used areas
• Specific questions are addressed
Prerequisite Skills • Lab sessions allow hands-on application of course concepts
• Functional knowledge of Linux
• One year programming, including experience with structures, Global Reach of Wind River Education Services
pointers, pointers to structures, typedefs, macros, and bitwise • 4,000 students per year
operators • 400 classes delivered per year
• Experience using binary and mutual exclusion, semaphores, • 34 instructors worldwide
message queues, pipes, and managing multiple tasks • Access to 250 subject matter experts
• Experience debugging target code • 24 training centers worldwide
• Ability to use and modify makefiles to build executable images • 20+ years of device software experience
Prerequisite Courses On-site courses are conducted at your location and include the use of
• Introduction to Linux preconfigured laptops and target boards, plus shipping and travel costs.
• Introduction to Real-Time Programming Visit education.windriver.com for registration and schedule information.
Topics
• Review of Linux boot process and the role of the boot loader • Overview of interrupt handling when implementing a Linux device
• Building and accessing modules driver
• Linux Device driver debugging techniques • Steps necessary to develop character and network device drivers
• Using Timer services and memory management techniques for • Techniques for Debugging Device Drivers
developing device drivers • Overview of hot-plug support, power management and use of sysfs

Agenda
Day 1 Day 3
Review Linux Architecture Kernel Space Timer Services
· Linux Architecture · Timer Interrupts - HZ and jiffies
· Linux Device Driver Development Model · Delaying Execution
· Using Task Queues
Booting Linux
· Kernel Space Timers
· Linux Boot/ Initialization Process
Interrupt Handling
Introduction to Device Drivers
· Linux and Interrupts
· Device Types
· IRQ Action Table
· Tracking a Driver Call in Linux
· Register, Enabling and Disabling Interrupts
· Dynamic vs Static Drivers
· Minimizing Interrupt Latency
Kernel and Modules
Network Device Drivers
· Kernel Configuration Tools
· Linux Network Driver Overview
· Building and Configuring the Kernel
· Network Device Structure
· Loading the Kernel
· Network Driver Functions
· Adding a Driver
· Network Stack Functions
· Building and Installing Modules
· Socket Buffers
· Loading and Unloading Modules
· Transmit and Receive Logic Flow
· Passing Parameters to Modules
· Interrupt Handling
· Kernel Versioning
· MII Transceivers (PHY)
Memory Management
Day 4
· Linux Memory Model
Block Device Drivers
· Kernel Address Space
· Role of Block Drivers
· Caching
· Block Driver API
· Allocating Memory in User and Kernel Space
· Mapping a Device LSP and Driver Debugging Techniques
· printk
Day 2
· Debugging using /proc and ioctls
Character Drivers
· Debugging w/ LEDs
· What is a character device driver?
· Watching System Calls via strace
· Device Special Files
· Linux Trace Toolkit (LTT)
· Driver Registration
· Kernel Panic
· File Operations
· Debugging System Faults
· IOCTL Operation
· Using KGDB
User Space To Kernel Space Interfaces · Using Hardware JTAG/BDM Tools
· Data Flow
Extension to the Linux Driver Model
· Using /procfs file system
· Hotplug
· Using relayFS
· Power Management Review
Blocking I/O · The 2.6 Linux Driver Model
· Blocking vs Non Blocking I/O · SysFS overview
· Wait Queues and Sleep
· Race Conditions and Locks
· Using Barriers
· Semaphore Usage
· Poll and Select

Wind River World Headquarters Wind River EMEA Professional Services Headquarters
500 Wind River Way, Alameda, CA 94501 Osterfeldstrasse 84, 85737 Ismaning, Germany
Toll-Free: 1-800-545-9463 Phone: 1-510-748-4100 Fax: 1-510-749-2454 Phone: +49 (0)89 962 445-427 Fax: +49 (0)89 962 445-999
training@windriver.com NASDAQ: WIND © 2006 Wind River Systems, Inc. training-eu@windriver.com

Potrebbero piacerti anche