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/*
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/*
相关文章推荐
- (学习笔记)android 5.0 系统去电流程状态判断(下)
- [学习笔记]Android系统功能之多点触摸交互处理
- android 学习笔记(六)一些技巧6.1 Android系统root破解原理分析*
- android系统学习笔记六
- Android(java)学习笔记195:学生信息管理系统案例(SQLite + ListView)
- Android系统开发学习笔记
- android系统学习笔记六
- Android(java)学习笔记249:ContentProvider使用之获得系统联系人信息01
- Tiny4412 Android 5.0 编译系统学习笔记
- Android系统架构(Android第一行代码学习笔记1)
- Android 学习笔记 短信备份 获取系统安装程序信息等等
- Android开发学习笔记(十二) 获取系统可用内存
- android系统学习笔记一
- Android安全学习笔记1-系统设计与架构
- 学习笔记TF066:TensorFlow移动端应用,iOS、Android系统实践
- Android 学习笔记 第五季 10 文件系统
- Android电子拍卖系统学习笔记
- android 学习笔记 调用系统摄像头和相册
- Android 系统启动流程学习笔记
- Android系统相关组件解析(Android第一行代码学习笔记2)