I will be part of the development of device driver for android. In preparation, I want to grasp the basics and advance my skill for this.
I was on VB and JAVA for this past 2 years, so I don't have confident with my C programming. Linux device driver is a new world for me too.
Currently, according to tips I found in different forums, the below resource was good starting point.
Q1: May I hear your suggestions for this.
Q2: Do you know tutorials specific for android?
And also, here are the specific drivers of android I should learn.
Thank you for your time!
I had to port an Android Kernel and the drivers to a custom platform. Android Kernel is basically a Linux Kernel (2.6.x) with a few modifications. The kernel and the drivers are mainly written in C and you will have to get into it. If you already have experience in other languages, you'll get through that one too. There are tons of books about that and tutorials on the WEB. Don't forget to get comfortable with all that "pointer" stuff. This is the main thing in C. The linux Kernel if full of pointer to data structures and even more, pointer to functions packed in data structures.
Here is how I got the informations and knowledge I needed. For Linux Kernel, the O'Reilly's books are great. The one I refer to all the time for device drivers are:
"Understanding The Linux Kernel"
"Linux Device Drivers"
As for resources very specific to writing Android Kernel stuff, I've been looking for that for months and I always end up using Linux resources and I got the job done.
Good luck, have fun and don't forget it's always good for you to gain new skills
The first book you mentioned is very good (USB and network is described there).
Other books I would suggest are in: kernel source /Documentation/kernel-docs.txt
(also available here: https://www.kernel.org/doc/Documentation/kernel-docs.txt)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With