- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android开发之01----底层驱动开发01
驱动概述
? ? ? ? 说到 android 驱动是离不开 Linux 驱动的。Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码)。但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部分修正,还增加了不少内容。android 驱动 主要分两种类型:Android 专用驱动 和 Android 使用的设备驱动(linux)。
? ? ? Android 专有驱动程序:
? ? ? 1)Android Ashmem 匿名共享内存; 为用户空间程序提供分配内存的机制,为进程间提供大块共享内存,同时为内核提供回收和管理这个内存。
? ? ? 2)Android Logger ? ?轻量级的LOG(日志) 驱动;
? ? ? 3)Android Binder ? ? 基于 OpenBinder 框架的一个驱动;
? ? ? 4)Android Power Management ?电源管理模块;
? ? ? 5)Low Memory Killer ?低内存管理器;
? ? ? 6)Android PMEM ? ? ? ?物理内存驱动;
? ? ? 7)USB Gadget ? ? ? ? ? ? USB 驱动(基于 gaeget 框架);
? ? ? 8)Ram Console ? ? ? ? ? 用于调试写入日志信息的设备;
? ? ? 9)Time Device ? ? ? ? ? ? 定时控制设备; ?
? ? ?10)Android Alarm ? ? ? ??硬件时钟;
? ? ?Android 上的设备驱动:
? ? ? 1)Framebuff 显示驱动;
? ? ? 2)Event 输入设备驱动;
? ? ? 3)ALSA 音频驱动;
? ? ? 4)OSS 音频驱动;
? ? ? 5)v412摄像头:视频驱动;
? ? ? 6)MTD 驱动;
? ? ? 7)蓝牙驱动;
? ? ? 8)WLAN 设备驱动;
?Android 专有驱动程序
? ? ? 1.Android Ashmem?
? ? ? ? ? ? ? ?为用户空间程序提供分配内存的机制,为进程间提供大块共享内存,同时为内核提供回收和管理这个内存。
? ? ? ? ? ? ? ?设备节点:/dev/ashmen .主设备号 10.
? ? ? ? ? ? ? ?源码位置: include/linux/ashmen.h ? ?Kernel /mm/ashmen.c
? ? ? ? ? ? ? ? ? ? ?相比于 malloc 和 anonymous/named mmap 等传统的内存分配机制,其优势是通过内核驱动提供了辅助内核的内存回收算法机制(pin/unoin)
? ? ? 2.Android Logger??
? ? ? ? ? ? ? ? ? ? 无论是底层的源代码还上层的应用,我们都可以使用 logger 这个日志设备看、来进行调试。
? ? ? ? ? ? ? ? ? ? ?设备节点: ?/dev/log/main ? ? ?/dev/log/event ? /dev/log/radio
? ? ? ? ? ? ? ? ? ? ?源码位置:include/linux/logger.h ? ? ? ? include/linux/logger.c
? ? ? 3.Android Binder ? ??
? ? ? ? ? ? ? ? IPC Binder 一种进程间通信机制。他的进程能够为其它进程提供服务 ----- 通过标准的 Linux 系统调用 API。
? ? ? ? ? ? ? ? 设备节点 :/dev/binder
? ? ? ? ? ? ? ? 源码位置:Kernel/include/linux/binder.h ? ?Kernel/drivers/misc/binder.c
? ? ? 4.Android Power Management ?
? ? ? ? ? ? ? ?一个基于标准 linux 电源管理的轻量级 Android 电源管理系统,在 drivers/android/power.c ? ? ?kernel/power/
? ? ? 5.Low Memory Killer?
? ? ? ? ? ? ? ? 它在用户空间中指定了一组内存临界值,当其中某个值与进程描述中的 oom_adj 值在同一范围时,该进程将被Kill掉(在parameters/adj中指定oome_adj 的最小值)。它与标准的Linux OOM机制类似,只是实现方法不同
? ? ? ? ? ? ? ? 源码位置:drivers/misc/lowme
您可能关注的文档
- 2015年9月新能源汽车产销报告.docx
- 2015年杭州市高考二模文科综合试题卷.doc
- 2015年最新八年级地理上册复习提纲.doc
- 2015年湖北省襄阳市中考语文试题(含答案).doc
- 2015年版语文七年级下册“读一读写一写”词语(拼音解释-242个).doc
- 2015年镇江市会计继续教育部分选择题答案.docx
- 2015年青岛市建筑面积计算规范.doc
- 2015年自考《思想道德修养与法律基础》全真模拟(第二套).doc
- 2015机械设计制造及其自动化专业毕业综合技能测试大纲(本科).doc
- 2015年高考真题文综政治(山东卷)解析1.doc
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
最近下载
- 中国共产主义青年团团章.doc VIP
- 照明工程数量表计算.xlsx VIP
- 2024汽车维修工时定额.docx VIP
- 内网及邮箱用户名列表.doc VIP
- 新解读《GB_T 18295 - 2001油气储层砂岩样品扫描电子显微镜分析方法》最新解读.docx VIP
- DB11T 945.1-2023建设工程施工现场安全防护、场容卫生及消防保卫标准 第1部分:通则.pdf VIP
- JGT 160-2017 混凝土用机械锚栓.docx VIP
- 建筑施工安全生产治本攻坚三年行动方案(2024-2026年).docx VIP
- 2024年内蒙古巴林左旗林业和草原局国有公益林护林员招聘真题.docx VIP
- 鲁教版(五四学制)六年级上册地理期末复习重点知识点提纲(实用!).docx VIP
文档评论(0)