Android6.0&9.0 Wifi

3 篇文章 0 订阅
1 篇文章 0 订阅

在介绍Android9.0中wifi的架构之前,先介绍一下Android Treble项目。

Android系统架构

Android System

1.应用框架。 应用框架最常被应用开发者使用。作为硬件开发者,您应该非常了解开发者 API,因为很多此类 API 都可以直接映射到底层 HAL 接口,并可提供与实现驱动程序相关的实用信息。
2.Binder IPC。 Binder 进程间通信 (IPC) 机制允许应用框架跨越进程边界并调用 Android 系统服务代码,这使得高级框架 API 能与 Android 系统服务进行交互。在应用框架级别,开发者无法看到此类通信的过程,但一切似乎都在“按部就班地运行”。
系统服务。系统服务是专注于特定功能的模块化组件,例如窗口管理器、搜索服务或通知管理器。 应用框架 API 所提供的功能可与系统服务通信,以访问底层硬件。Android 包含两组服务:“系统”(诸如窗口管理器和通知管理器之类的服务)和“媒体”(与播放和录制媒体相关的服务)。
3.硬件抽象层 (HAL)。 HAL 可定义一个标准接口以供硬件供应商实现,这可让 Android 忽略较低级别的驱动程序实现。借助 HAL,您可以顺利实现相关功能,而不会影响或更改更高级别的系统。HAL 实现会被封装成模块,并会由 Android 系统适时地加载。有关详情,请参阅硬件抽象层 (HAL) 一文。
4.Linux 内核。 开发设备驱动程序与开发典型的 Linux 设备驱动程序类似。Android 使用的 Linux 内核版本包含几个特殊的补充功能,例如:Low Memory Killer(一种内存管理系统,可更主动地保留内存)、唤醒锁定(一种 PowerManager 系统服务)、Binder IPC 驱动程序以及对移动嵌入式平台来说非常重要的其他功能。这些补充功能主要用于增强系统功能,不会影响驱动程序开发。您可以使用任意版本的内核,只要它支持所需功能(如 Binder 驱动程序)即可。不过,我们建议您使用 Android 内核的最新版本。有关详情,请参阅编译内核一文。

HIDL

Android 8.0 重新设计了 Android 操作系统框架(在一个名为“Treble”的项目中),以便让制造商能够以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。在这种新架构中,HAL 接口定义语言(HIDL,发音为“hide-l”)指定了 HAL 和其用户之间的接口,让用户能够替换 Android 框架(android framework),而无需重新编译 HAL。

利用新的供应商接口,HIDL 将供应商实现(由芯片制造商编写的设备专属底层软件)与 Android 操作系统框架分离开来。供应商或 SOC 制造商构建一次 HAL,并将其放置在设备的 /vendor 分区中;框架可以在自己的分区中通过无线下载 (OTA) 更新进行替换,而无需重新编译 HAL。

HIDL

System update

1.旧版android升级
旧版升级方法
旧版Android需要需要同时升级framework、vendor。

2.Android8.0+系统升级
新版升级方法
引入treble之后,只需升级framework。

Wifi 架构

Android9.0 wifi

Wifi 启动过程分析

1.Android 6.0 Wifi启动过程
wifi enable old
2.Android 9.0 Wifi启动过程

wifi enable new

通过Wifi的启动过程,就能看到在Android8.0之后,wifi的启动更加的复杂。在系统中添加了与hal层相关的service,供framework层进行调用。主要原理就是为hal层添加了binder支持。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值