Android的专用驱动:Ashmem、binder、logger
Ashmem:匿名共享内存驱动
Logger:轻量级的log驱动
Binder:基于OpenBinder驱动,为android平台提供IPC支持。
Android Power Management:定时器驱动,用于唤醒设备
Ashmem路径:
kernel/include/linux/ashmem.h
Kernel/mm/ashmem.c
提供的接口:system/core/include/cutils/ashmem.h
System/core/libcutils/ashmem-dev.c
System/core/libcutils/ashmem-host.c
Binder驱动提供IPC支持,android整个系统的运行依赖binder驱动。
Kernel/include/linux/binder.h
Kernel/drivers/misc/binder.c
Frameworks/base/cmds/servicemanager/
Frameworks/base/include/utils
Frameworks/base/libs/utils
Logger驱动的代码:
Kernel/include/linux/logger.h
Kernek/drivers/misc/logger.c
Syste,m/core/logcat
Framebuffer驱动:
Include/linux/fb.h
Drivers/video/fbmem.c
Input驱动:
include/linux/input.h
android/s1/kernel/include/linux(android)
Drivers/input/input.c
/kernel/drivers/input
Drivers/input/evdev.c
Event输入设备驱动
V412摄像头视频驱动:
Include/linux/videodev.h
Include/linux/videodev2.h
Include/media/v412-dev.h
Drivers/media/video/v412-dev.c
OSS(open sound system)音频驱动:
Include/linux/soundcard.h
Include/linux/sound.h
Sound/sound_core.c
ALSA(advanced linux sound architecture高级linux声音体系)音频驱动:
Include/sound/asound.h
Include/sound/core.h
Sound/core/sound.c
MTD(memory technology device内存技术设备)驱动:
Include/linux/mtd/mtd.h
Drivers/mtd/mtdcore.c
Drivers/mtd/mtdchar.c
Drivers/mtd/mtdblock.c
蓝牙驱动:
Include/net/bluetooth/hci_core.h
Include/net/bluetooth/bluetooth.h
Net/bluetooth/*
Drivers/bluetooth/*
Wlan驱动:
Include/net/wireless.h
Net/wireless/*
Drivers/net/wireless/*
I2C驱动:
/kernel/drivers/i2c
触摸屏驱动:
/kernel/drivers/input/touchscreen/*
USB gadget 设备功能介绍
目前usb 主要实现的功能有:adb,mass_storage,mtp,serial,其中框架功能由如下两
个文件实现:
1.drivers/usb/gadget/android.c(包含对RNDIS 的支持)
2.drivers/usb/gadget/composite.c
各个具体的功能则由如下文件实现:
1.drivers/usb/gadget/f_adb.c
2.drivers/usb/gadget/f_mass_storage.c
3.drivers/usb/gadget/f_mtp.c