`

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 系统相关学习笔记.zip

    Android 系统相关学习笔记.zip

    android系统模块之Contacts的学习笔记

    android系统模块之Contacts的学习笔记

    android开发学习笔记

    本人做android也有两年了,主要做智能机系统级开发,期间也承包了一些项目,对于如何学好android,以及学好android后如何开启自己的致富之门也能起到抛砖引玉的作用,欢迎大家加入,积极发言讨论,积极解决他人的...

    Android学习笔记.doc Android学习笔记.doc

    Android platform是一个用于开发移动程序的软件包,它包括了操作系统、中间件及一些关键应用。开发者能使用android SDK为Android platform开发应用,这些应用使用JAVA语言书写,运行在虚拟机Dalvik(一个专为手机程序...

    Pro Android学习:Menu

    是Pro Android学习笔记Menu系统的例子代码

    android入门学习笔记-永远不变的helloworld、初识activity

    本资源是上课时的笔记,系统的讲述了android。想学习andorid的新手可以载下来供参考使用

    Android知识系统总结+最佳学习线路图+实例+全程开发笔记

    Android知识系统总结+最佳学习线路图+实例+全程开发笔记Android知识系统总结+最佳学习线路图+实例+全程开发笔记

    Android学习笔记.doc

    Android platform是一个用于开发移动程序的软件包,它包括了操作系统、中间件及一些关键应用。开发者能使用android SDK为Android platform开发应用,这些应用使用JAVA语言书写,运行在虚拟机Dalvik(一个专为手机程序...

    android 系统笔记.zip

    操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络...

    android 学习笔记

    使用系统自带意图对象完成: Intent intent=new Intent(); intent.setAction("android.intent.action.Call"); intent.setData(Uri.parse("tel:"+i)); startActivity(Intent); 权限: <uses-permission ...

    第一行代码—Android第二版学习笔记

    Android 第一行代码学习笔记第一章 概述1.1安卓系统架构1.2Android四大组件1.3项目结构1.4app目录结构1.5 项目运行原理1.6 res目录详解1.7日志工具的使用第二章 活动2.1 创建基本活动2.2 使用Intent在活动之间跳转...

    Android知识系统总结

    里面包含7个常见android应用程序源代码,android学习笔记,开发入门实践,入门书籍等很有用的资料。

    黑马程序员之android学习笔记--用户界面 View(一).docx

    黑马程序员之android学习笔记--用户界面 View(一).docx

    Android Map开发基础知识学习笔记

    本教程适用于Android Map学习的初学者,这是一本很平易近人的Android入门书籍,也是开发者及非开发者两相宜的实务书籍,它能陪伴你顺利入门,并驰骋于无限宽广的Android系统和应用领域

    Android学习笔记之——Content Providers

    之前博文《 Android学习笔记之——Android Studio的安装(3.6版本)、Java的基本语法及Android的概述 》曾经介绍过android有四大组件。本博文学习一下Content Providers(内容提供器) 目录 Android运行时 ...

    2021-学习相关-Android 局域网简易云端笔记系统源码.zip

    2021-学习相关-Android 局域网简易云端笔记系统源码.zip

    AOSP Android系统定制裁剪笔记.zip

    操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络...

    Android代码-Android_Learning_Notes

    这是我的安卓学习笔记。 开始时间:2016-9-11 计划:一个半月 文章目录: 基础知识 1、Android01--搭建Android开发环境 2、Android02--认识Activity 3、Android03--Context和Application 4、Android04--Android服务 ...

    android移植到特定平台学习笔记

    android移植到Cortex-A8平台,手把手开发步骤,从安装编译器,配置环境变量,编译uboot,kernel,android文件系统详细步骤和修改的文件。最后是将镜像烧入SD卡等详细步骤!好东西不容错过

Global site tag (gtag.js) - Google Analytics