Basics of Linux Device drivers

As there is lott of demands in the industry for linux professionals, a lott of software engineers have taken the learning path of linux internals as way to a successful career.

Notes: I will periodically update this series of posts,as time becomes available to me.
Resources:
There are various resources available over the internet to assist your learning of driver development.I recommend please go through Linux Device Drivers book by CORBET and RUBINI 3rd Ed ,because this new edition contains updated info related to latest kernel 2.6.x.

Device driver writers are expected to be  very proficient in C programming and now-a-days  in C++ too so make sure you develop a good practice in coding using these languages.Rest assured I will guide you to have a deep plunge into the oscean of device drivers.
Free Image Hosting at www.ImageShack.us

QuickPost Add image to Myspace, Digg, Facebook, and others!

Device Drivers :
These represent a sofware layer that is mostly used for hardware abstraction.That means the layer provides a unified mechanism to the upper layers irrespective of the underlying hardwares connected to the system.This adds a lott of flexibility in terms of system software design and development.

Ok, letz go straight into the drivers internals ,for a begineer the best part of learning drivers initials i would recommend loading and writing "simple modules".

MODULES [The dynamically loaded drivers]:

To load the driver we use module_init ()and to unload we use module_exit. When the module_init is executed, the first routine is executed as well. The kernel registers the driver by using a registration routine register_chrdev() while loading the module and when unloading the module it uses unregister_chrdev.

Comments

Popular posts from this blog

8051 Development Setup:MIDE-51 Installation

Nokia dot Matrix LCD Interfacing with 89c51( 8051 core)