Android系统的问题分析笔记(4) - Android设备硬件基础
问题
典型的Android手机/平板硬件架构是怎么样的?
1 典型Android手机/平板硬件架构图
2 基带处理器 (Baseband Processor)
市场上大多数的手机采用了相互独立的处理单元来分别处理用户界面软件和射频功能。即:应用处理器 (Application Processor,AP) 和基带处理器 (Baseband Processor,BP)
为什么需要两个独立的处理器而不是由一个来完成?这个原因包括法律和技术两个方面:
- 法律要求软件定义无线电 (SDR)设备必须被美国通信委员会(FCC)认证,而这个认证有一个要求就是控制无线信号的软件不可以受到未经授权的更改。基本上,它的意思是终端用户在任何情况下都不允许修改无线调制方式和工作频率。
- 无线功能的很多操作有很强的实时性限制,因此控制无线信号的软件跟用户界面操作系统跑在同一个 CPU上就不是一个很好的选择。可以在AP 休眠的同时保持 BP 继续运行。
因为Android 的 RIL跟其依赖的硬件是紧耦合的关系。简单地说,BP与AP交互的方式主要是基于串口的AT指令集。架构图中可以看到,BP 有它自己的 Flash 和 RAM,这就保证了运行在 BP 上的认证软件与AP上的软件相互隔离。运行在 BP上的实时操作系统 (RTOS)只关注无线协议处理(例如运行 GSM 协议栈)。同样需要知道的是,SIM 卡和 RF 收发器是接到 BP上的。射频收发器处理与铁塔之间的实际射频发送和接收工作,而SIM卡用于蜂窝网络运营商识别手机用户身份。
3 核心器件
虽然我们讨论的很多器件很可能存在,也很有可能不在你的嵌入式系统中,但是有一些器件基本上一定会在Android 系统设备上(当然也可能有些特殊场合会被裁剪掉)。
- RAM
- 存储
- 电源管理IC
- 硬件编解码器
- 触摸屏
- LED
- WiFI
- Bluetooth
- 扬声器
- 话筒
- 摄像头
- 震动器
- GPS
- 各类传感器(加速度、方向、陀螺仪、温度、气压、接近传感器…)
- USB接口
大多数传统的嵌入式系统都包含 Flash,不管是 NOR 还是 NAND,以及基于其之上的 Flash 文件系统,用于管理芯片资源并且实现各种功能。然而目前的主流趋势是改为采用嵌人式多媒体卡(embedded MultiMediaCard,eMMC)。
而且,系统中的存储设备很可能不止有一个。实际上,Android 系统会区分“内部”(internal)存储和“外部” (external)存储。内部存储一般就是指板上的eMMC,而外部存储则是手机或者平板上用于可插拔的 SD卡。内部存储中包含了 Android 系统本身用于引导,以及基本的文件系统操作。而外部存储则主要用于存储图片以及其他多媒体内容。
在电池供电的设备上有电源管理芯片 (PMIC,PowerManagement IC)。PMIC 的作用是管理电池的各个方面,包括稳压和充电。PMIC通常连接到电池上,为板子提供 DC 电源。PMIC 与 SoC 一般通过 SPI、12C 或者 GPIO 连接。当电压过低或者接上充电器时,PMIC 会产生相应的中断。
直接与用于交互的:LED、触摸屏。直接与现实世界交互的:摄像头、各类传感器。连接性器件:USB、WIFI、Bluetooth、GPS、NFC等。
Android系统的问题分析笔记(4) - Android设备硬件基础相关推荐
- android 系统源码分析
获得Android源码后,我们来分析源码结构.源码的全部工程分为如下三个部分. ①Core Project:核心工程部分,这是建立Android系统的基础,保存在根目录的各个文件夹中. ②Extern ...
- 老罗的《Android系统源代码情景分析》翻了10遍还看不懂?因为你用错了
最近老朽又把罗升阳老师的<Android系统源代码情景分析>拿出来啃了一番. 为什么要加个"又"呢?因为从老罗的第一版开始到迄今为止尚未更新的第三版为止,每年有学习冲动 ...
- 《Android系统源代码情景分析》一书勘误
在大家的支持和鼓励下,<Android系统源代码情景分析>一书得以出版了,老罗在此首先谢过大家了.本书的内容来源于博客的文章,经过大半年的整理之后,形成了初稿.在正式出版之前,又经过了三次 ...
- Android系统源代码情景分析:基础知识
老罗(罗升阳)发表在的InfoQ上的好文,最新在学习Android,转载一下,方便学习. 老罗的CSDN blog链接:http://blog.csdn.net/Luoshengyang/ 原文链接: ...
- Android 系统(207)---如何自学 Android?
如何自学 Android? 原文:gityuan.com 看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫"师傅领进门修行靠个人",再厉害的老师能教你的东西都是很 ...
- (连载)Android系统源码分析--Android系统启动流程之Linux内核
> **这是一个连载的博文系列,我将持续为大家提供尽可能透彻的Android源码分析 [github连载地址](https://github.com/foxleezh/AOSP/issues/3 ...
- Android软件安全与逆向分析笔记
Dalvik虚拟机概述 Google于2007年年底正式发布了Android SDK,Dalvik虚拟机也第一次进入了人们的视野.它的作者是丹·伯恩斯坦(Dan Bornstein),名字来源于他的祖 ...
- Android系统源码分析/多媒体框架/音频子系统/常用结构体分析-audio.h
audio_stream_type_t 定义音频流类型,主要是手机系统各类典型的音频流做出属性上的区分,举个例子:电话和媒体2种类型的音频不管从输出的设备(耳机.功放.还是蓝牙)都是存在明显的不同.把 ...
- Android 系统的安全性分析(1)--移动设备上的安全威胁
声明 最近工作上涉及到对Android系统安全性的改造,在改造之前先分析整理下目前Android系统自身的安全性: 参考了一些文章及书籍,在这里大部分是对别人描述的提炼,我挑出一些对我有用的内容整理: ...
最新文章
- SpringCloud的服务网关zuul
- matlab在电气工程中的数值分析
- 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)...
- 每天一道LeetCode-----为二叉树增加next节点,指向同一层的下一个节点
- 史上最全总结!爬虫常见加密解密算法
- 【ElasticSearch】Es 源码之 AnalysisModule 源码解读
- 【Linux】Vi中的各种命令
- java hssfworkbook 乱码_java各种乱码汇总
- xs2鸿蒙系统,华为Mate XS2来了,搭载麒麟9000,依旧安卓10版本
- HTTP代理是什么意思?
- ep服务器修改时间,BIOS揭秘 手把手教你设置Nehalem平台
- 2022 年度作品优秀大赏 | 开发者说·DTalk
- rocksdb的基本操作
- Puzzle(自认为是模拟)
- 电商erp是什么软件
- 移动端特点(重点)~~~
- zinnia项目功能分析
- 用信号量解决进程的同步与互斥探讨【持续更新】
- (线性代数笔记)2.阶梯型矩阵
- 人工智能 | 四个关于普通人的故事
热门文章
- [Android] ListView中getView的原理+如何在ListView中放置多个item
- 斯坦福大学(吴恩达) 机器学习课后习题详解 第二周 多变量线性回归
- Away3D ATFTexture
- 数学一年级应用题_一年级(下)数学应用题大全
- 百望云入选“2022北京民营企业科技创新百强”
- Adobe Premiere Rush v1.1 中文特别版 Mac 后期视频编辑软件
- vs2010 序列号 真的好用 vs2008 序列号
- 锦到说VBA——汇总一个文件夹下面的所有文件到EXCEL中
- 2019年1月Android手机性能榜,【排行】2021年1月Android手机性能榜单:iQOO 7力压小米11...
- 港科夜闻|香港科大教授测试防疫用品的保护功效,防止飞沫传播