Hi guys,
I have a fairly high level question about the steps to go through when adding a new device driver. From what I can tell, drivers consist of a kernel portion and then a shared library in the AOSP that gets used by the HAL. What I am
wondering is how the HAL accesses the *.so libraries. If I was to add a new camera driver for example, do I need to name it libcamera so that it gets picked up by the HAL or is there a way to specify a new name and link it in?
Also can applications access the hardware directly or do they always need to go through the higher level services? For example, if I were to add a new kind of sensor, do I need to somehow add this in to the sensor service to use the APIs in my app
or can I do a dlopen() and interact with the hardware that way?
Thanks!
--
unsubscribe: android-porti...@googlegroups.com
website: http://groups.google.com/group/android-porting
Perfect, thanks! That is a really great writeup.
So if I wanted to implement some kind of device that doesn't follow the supported behavior or interfaces expected by the upper services (say for example a sensor that is not one of the types
used in Android), can I load in a hardware library and interact with my device directly through the HAL from within an application? Would this be done through the NDK maybe?
It seems like some of the applications for custom kernels must do something like this as from what I can tell their modded drivers have additional functionality than is expected by Android.
Thanks,
Tom
--
unsubscribe: android-porting+unsubscribe@googlegroups.com
website: http://groups.google.com/group/android-porting
-- Karim Yaghmour CEO - Opersys inc. / www.opersys.com http://twitter.com/karimyaghmour
--
unsubscribe: android-porti...@googlegroups.com
website: http://groups.google.com/group/android-porting
--
unsubscribe: android-porti...@googlegroups.com
website: http://groups.google.com/group/android-porting