Android device driver development - entry point

I will be part of developing a device driver for Android. In the preparation process, I want to understand the basics and advance my skills for this.

I have been on VB and JAVA for the past two years, so I have no confidence in programming in C. The Linux device driver is a new world for me.

Currently, in accordance with the tips I found on various forums, the given resource was a good starting point.

Q1: May I hear your suggestions about this.

Q2: Do you know Android specific tutorials?

And also, here are the specific android drivers that I should learn.

  • USB
  • Bluetooth
  • Wifi
  • Camera

Thank you for your time!

+7
source share
2 answers

The first book you mentioned is very good (USB and network are described here).

Other books I would suggest are in: kernel source file / Documentation / kernel -docs.txt
(also available here: https://www.kernel.org/doc/Documentation/kernel-docs.txt )

+5
source

I had to migrate the Android kernel and drivers to the user platform. Android Kernel is basically the Linux kernel (2.6.x) with several modifications. The kernel and drivers are mostly written in C, and you will need to enter it. If you already have experience in other languages, you can also go through this. There are many books on this and tutorials on WEB. Remember to enjoy all that β€œpointer”. This is the main thing in C. The linux kernel, if it contains a pointer to data structures, and even more, a pointer to functions packed in data structures.

This is how I got the information and knowledge I need. For the Linux kernel, O'Reilly books are great. I mean all the time for device drivers:
Understanding the Linux Kernel
Linux Device Drivers

As for resources very specific for writing Android kernel materials, I have been looking for this for several months, and I always get Linux resources, and I did the job.

Good luck, have fun and do not forget that it is always useful for you to acquire new skills.

+5
source

All Articles