`

android系统学习笔记二

阅读更多

androidlinux内核和驱动程序

Androidr专用驱动

Ashmem:匿名共享内存驱动

Logger:轻量级的log驱动

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

AndroidpowerManager:电源管理器

LowMemoryKiller:缺少内存时,杀死进程

AndroidPMEM:物理内存驱动

 

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,鼠标(mousemice)和事件设备(eventqueue)设备号是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(opensoundsystem开放声音系统)数字音频设备(codec,PCM,DSP,ADC/DAC)采样速率(电话为8k,DVD96k),channel数目(单声道,立体声),采样分辩率(8bit,16bit

是字符设备,主设备号14

主要有以下几种设备文件

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

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

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

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

/dev/midiXX次设备号为21834MIDI端口

 

 

OOS的主要头文件

Include/linux/soundcard.h

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

OOS驱动程序的核心

Sound/sound_core.c

 

ALSA音频驱动

ALSA(advancedLinuxSoundarchitecture高级Linux声音体系)

ALSA驱动的主设备号为116,

主要的设备节点:

/dev/snd/controlCX主控制

/dev/snd/pcmXXXcPCM控制

/dev/snd/pcmXXXpPCM数据通道

/dev/snd/seq顺序器

/dev/snd/timer定时器

 

ALSA驱动的头文件

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

Include/sound/core.hALSA注册函数

MTD驱动

MTD(MemoryTechnologyDevice)称为内存技术设备通常用于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学习笔记 完整版

    Android学习笔记是Android开发者的必读书籍,书中涵盖了Android系统架构、Activity、Intent、资源管理等多方面的知识。本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中系统地介绍了Android...

    Android基础学习笔记

    Android基础学习笔记主要涵盖了一系列关于Android开发的基本概念和关键组件,以下是这些知识点的详细解析: 1. **Activity**: 是Android应用程序的基本单元,它代表用户在屏幕上看到的一个界面。每个Activity都必须...

    Android Studio 学习笔记-新手入门-(1)第一个案例

    这篇学习笔记将引导新手入门,通过创建第一个简单的案例来了解Android Studio的基本操作。 首先,让我们了解一下Android Studio的核心功能。它基于IntelliJ IDEA,具备代码自动补全、重构、调试等强大的开发特性。...

    Android Activity学习笔记

    Android Activity学习笔记 Android Activity是Android系统中最基本的组件之一,它负责处理用户交互和显示用户界面。本文将深入讲解Activity的生命周期、Activity之间的数据交互、Activity启动模式、Task和BackStack...

    Android学习新手笔记

    - Android系统基于Linux系统开发,拥有开放源码。 - Android系统框架由多个组件构成,其中包括Activity、Intent、Service、ContentProvider、View和BroadcastReceiver。 - Activity作为组件容器,主要负责用户...

    java学习细节 android学习笔记

    根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...

    Android+学习笔记

    ### Android学习笔记知识点详解 #### 一、简介与背景 Android作为全球最受欢迎的移动操作系统之一,自2007年谷歌发布以来,迅速占领市场并持续引领移动技术的发展。随着移动互联网的兴起和发展,Android应用开发...

    Android_学习笔记

    ### Android学习笔记——从HelloWorld开始 #### 一、Google的Android SDK介绍 自从Google发布了Android SDK以来,这款开源移动操作系统迅速吸引了众多开发者的关注。Android SDK为开发者提供了丰富的工具和API,...

    android全程学习笔记

    Android全程学习笔记旨在提供一个详尽且全面的指南,涵盖了Android开发中的关键技术点和实践案例。以下是关于Android开发的一些核心知识点: 1. **第一个Android应用**:开发Android应用的起点通常是从创建并运行你...

    Android 学习笔记

    这篇学习笔记主要涵盖了关于布局的一些基本概念,特别是`fill_parent`和`wrap_content`这两种尺寸指定方式,以及如何通过XML布局文件来精确控制组件的位置。 首先,`fill_parent`和`wrap_content`是Android布局中的...

    Android_学习笔记.zip

    这个"Android_学习笔记.zip"文件很可能包含了一个详细的Android开发学习路径和关键知识点的总结。下面将基于这个主题,详细讲解Android开发的一些核心概念和技术。 首先,Android是Google开发的一款开源操作系统,...

    android 很好的学习笔记

    【Android学习笔记详解】 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了...通过系统学习并实践其中的内容,你将能够逐步掌握Android开发的核心技能,为你的Android开发者之路打下坚实的基础。

    Android PreferenceActivity 学习笔记

    这篇学习笔记将深入探讨PreferenceActivity的使用方法、功能以及与源码相关的知识。 首先,PreferenceActivity是Android SDK提供的一种特殊类型的Activity,它允许开发者快速构建具有可配置选项的界面,类似于系统...

    Android 系统相关学习笔记.zip

    在Android系统相关学习笔记中,我们可以深入探讨这个广泛而复杂的移动操作系统的核心概念和技术。Android以其开源性和灵活性,吸引了大量的开发者和爱好者。以下是一些关键的知识点: 1. **Android架构**:Android...

    Android开发学习笔记

    ### Android开发学习笔记知识点梳理 #### 一、Android概述与架构 - **定义与发布**:Android是由Google在2007年11月5日宣布的基于Linux平台的开源手机操作系统。它不仅用于智能手机,还广泛应用于平板电脑、可穿戴...

Global site tag (gtag.js) - Google Analytics