Writing a linux driver for my final year project

Hello I was wondering how hard it would be to write a linux driver. As I haven't done something like this before. How much programming experience would be needed to undertake such a task. What type of knowledge would be needed and can it be learned in a few months. I am thinking of writing it in C but will writing it in java be any easier if so by how much.

Any replys to this post will be greatly appreciated

Comments

Re: Writing a linux driver for my final year project

[quote="Linux user"]Hello I was wondering how hard it would be to write a linux driver. As I haven't done something like this before. How much programming experience would be needed to undertake such a task. What type of knowledge would be needed and can it be learned in a few months. I am thinking of writing it in C but will writing it in java be any easier if so by how much.

Any replys to this post will be greatly appreciated[/quote]

http://janitor.kernelnewbies.org/docs/driver-howto.html has some general information. Its introductions says:

This document is not a real driver HOWTO -- there are books out there on
how to write a linux kernel driver. Writing a linux kernel driver can be as simple as writing three lines of code or an extensive task which requires understanding of how Linux addresses hardware on the various architectures it supports as well as the understanding of PC concepts (all reference in this document is x86 architecture-centric yet not specific).

What this document will address is the DOs and DON'Ts when writing a linux kernel device driver. These DOs and DON'Ts are based on the kernel-janitor project's TODO list. Further, concepts introduced by the original "Hardened Drivers" spec published at http://hardeneddrivers.sf.net are also present in this document.