您的位置:首页 > 移动开发 > Android开发

android系统学习笔记二

2012-09-03 15:03 274 查看
android 的linux内核和驱动程序

Android r 专用驱动

Ashmem: 匿名共享内存驱动

Logger:轻量级的log驱动

Binader:基于operBinder系统的驱动,为android 提供IPC支持

Android power Manager :电源管理器

Low Memory Killer:缺少内存时,杀死进程

Android PMEM:物理内存驱动

Android 使用的设备驱动

Framebuffer 驱动是标准和显示设备驱动,对于PC 系统就是显卡驱动 设备节点

通常是/dev/fbx

Framebuffer 驱动的主要头文件:include/llinux/fb.h

核心实现: drivers/video/fbmem.c

核心数据接口是:fb_info, 在fb.h中定义

它在android 中的路径为:/dev/graphic/fb0

注:android 中直接使用标准的framebuffer驱动,/dev/graphic 中的framebuffer设备节

点由init进程自动创建,被libui库调用

Event 输入设备驱动

Input 驱动程序是linux输入设备的驱动程序, 分游戏杆(joystick),鼠标(mouse mice)和事件设备(event queue) 设备号是13

Joystick 游戏杆0-61

Mouse 鼠标 33-62

Mice 鼠标 63

每种input设备占用5位, 每种设备个数是32

Read 读取输入信息

Ioctl获得设置信息

Poll可以进行用户空间的阻塞

Event 的设备节点: dev/input/eventX

Input驱动的头文件是:include/linux/input.h

视频驱动V4L2摄像头(video4linux2) camera

设备节点:/dev/video/videoX

设备号是:81,

头文件的路径是:include/linux/videodev.h

Include/linux/videodev2.h 数据接口和常量

Include/media/v412-dev.c 完成接口注册

核心实现路径:driver/media/video/v412-dev.c

Oss音频驱动

Oss(open sound system 开放声音系统) 数字音频设备(codec,PCM,DSP,ADC/DAC) 采样速率(电话为8k,DVD为96k),channel数目(单声道,立体声),采样分辩率(8bit, 16bit)

是字符设备, 主设备号14

主要有以下几种设备文件

/dev/mixer 次设备号为0 访问声卡中的mixer 调整音量大小,选择音源

/dev/sndstat 次设备号为6 测试声卡

/dev/dsp 次设备号为3 读此设备就相当于录音 write 用于放音,read用于录音

/dev/sequencer 次设备号为1 访问声卡内置的或是连接在MIDI端口的syntherizer(合成器)

/dev/midiXX 次设备号为2 18 34 MIDI端口

OOS的主要头文件

Include/linux/soundcard.h

Include/linux/sound.h 用于设备的注册

OOS 驱动程序的核心

Sound/sound_core.c

ALSA音频驱动

ALSA(advanced Linux Sound architecture 高级Linux声音体系)

ALSA驱动的主设备号为116,

主要的设备节点:

/dev/snd/controlCX 主控制

/dev/snd/pcmXXXc PCM 控制

/dev/snd/pcmXXXp PCM数据通道

/dev/snd/seq 顺序器

/dev/snd/timer 定时器

ALSA驱动的头文件

Include/sound/asound.h ALSA驱动的主要头文件

Include/sound/core.h ALSA 注册函数

MTD驱动

MTD(Memory Technology Device) 称为内存技术设备 通常用于Linux中的Flash驱动程序

分为:

字符设备的设备节点 /dev/mtdX 设备号90

块设备的设备节点 /dev/bolck/mtdblockX 设备号为13

MDT的头文件路径: include/linux/mth/mtd.h

源代码路径:drivers/mtd/mtdcore.c 定义原始设备

Drivers/mtd/mtdchar.c 字符设备

蓝牙驱动

蓝牙设备驱动是网络设备,使用网络接口

定义的协议族为:AF_BLUETOOTH(31)

蓝牙协议的头文件:

Include/net./bluetooth/hei_core.h

Include/net/bluetooth/bluetooth.h

Wlan 驱动 (使用socket进行控制)

Wifi 协议的部分头文件

Include/net/wireless.h

Wifi协议部分源文件

Net/wirless

Wifi驱动程序部分

Drivers/net/wireless/*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: