XyoTech's instructor team is the most experienced in the business. Each instructor is an expert in their field, having taught in both industry and academia for many years. All XyoTech Spreadsheet & VBA courses are available in both Excel 2003 & 2007.

Engineering Analysis and Automation using Excel & VBA shows you how to use Excel & VBA to increase your performance & productivity, saving your company time & money. You gain valuable knowledge & your company will be light years ahead of the competition. Download Brochure

XyoTech is an engineering training, consulting, and application development company dedicated to providing your organization with the training and tools you need to stay competitive.

Engineering Analysis and Automation using Excel & VBA shows you how to use Excel & VBA to increase your performance & productivity, saving your company time & money.

 
Linux Device Drivers PDF Print E-mail

What do we mean when we say “device driver”?

 

Fundamentally, a device driver implements the interface between a piece of peripheral hardware and the application. In a traditional unprotected, “flat” memory model system, a driver may be little more than a set of functions conforming to a well-defined API and statically linked into an executable image.

 

But in the context of a protected mode operating system such as Linux, device drivers take on added significance owing to the distinction between User space and Kernel space. This 3-day hands-on seminar provides an introduction to the wonderful world of programming in Kernel space. As such, it provides insights not only into device driver programming, but also into the philosophy and design strategies of the kernel itself.
 
Numerous programming exercises introduce the rich kernel API that offers a multitude of services to driver writers. You’ll learn how Linux handles asynchronous I/O in a way that is totally transparent to applications. You’ll examine the unique problems of debugging in Kernel space. Perhaps most important, you’ll see how much of a device driver involves interactions with the kernel that have nothing to do with accessing physical hardware.
 

Instructor:

Doug Abbott, MSEE UC Berkeley, is the founder and principal of Intellimetrix. With over 25 years of experience in the computer industry, Doug has dealt with various aspects of hardware and software design related to real-time data acquisition and instrumentation for scientific, industrial and consumer applications.

Prior to founding Intellimetrix, Doug’s experience included managing software engineering for DSP Technology, Inc., a leading supplier of high-speed instrumentation for automotive testing.

Doug is also a popular instructor and seminar leader, who teaches classes on embedded Linux and real-time programming. This course can be customized and made available for on-site presentation.

 

Outline:

Brief review of basic Linux concepts
  • Protected mode memory management—user space vs. kernel space
  • File system and directory structure
  • Development environment
Introducing device drivers
  • What is a “device driver”?
  • Linux device classes and user space API
  • Kernel space driver API
  • “Hooking” a driver into the kernel
Kernel modules
 
Debugging kernel modules
  • printk
  • proc files
  • Tracing—strace, Linux trace toolkit
  • Debuggers—gdb, kdb, kgdb
Asynchronous I/O
  • Blocking vs. non-blocking operation
  • Invoking the driver from multiple processes—reentrancy
Kernel memory management
 
Accessing real hardware
  • Using I/O Ports--“side effects”
  • A parallel port driver
  • Platform dependencies
Interrupt handling
 
  • How Linux handles interrupts
  • Implementing and installing an interrupt handler
  • Bottom halves -- work queues, and tasklets
     
Managing Time
 
 
Block drivers
 
  • Registering a block driver
  • Handling requests
  • Mounting and unmounting
Network drivers
  • Sockets
  • Network Driver Methods
  • NAPI
 
< Prev
Excel Tips & VBA Tips

Receive Free Excel & VBA Tips Each Month by Joining our Excel Tips & VBA Tips Newsletters! CLICK HERE to Sign-Up Today.

Contact XyoTech

(949) 340-0608 Telephone

(877) 234-7586 Toll Free

(949) 625-7623 Fax

 

Instructors: List Your Courses

All engineering experts with developed short courses are encouraged to list their courses on a non-exclusive basis with XyoTech Engineering Associates. We regularly advertise our courses to a wide range of engineers giving you great exposure at no cost to you. Call us today for more information at 1 (877) 234-7586.