OpenHarmony WLAN驱动模型分析 导读(更新中)

WLAN Model

本系列文章准备深入了解OpenHarmony的WLAN驱动模型,由于WLAN驱动模型非常庞大,我尝试根据WIFI 驱动模型的设计特点来给整个模式分模块进行介绍,本文是本系列文章的导读。

学习OpenHarmony的最好途径就是从官网的文档入手,我们可查看官网对于WLAN驱动模型的介绍:

zh-cn/device-dev/driver/driver-peripherals-external-des.md · OpenHarmony/docs - 码云 - 开源中国 (gitee.com)

一、前提必读

OpenHarmony WIFI 驱动模型是基于 HDF 驱动框架开发的,需要先理解 HDF 驱动开发框架,才能来学习WIFI 驱动模型。HDF 驱动的介绍:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/driver-hdf-overview.md

计算机技术是为了解决实际问题而产生,而我们学习WIFI驱动框架,就需要知道这个软件技术是为了解决什么问题。答案可在官网找到:

首先WIFI 驱动模型的基本功能就是提供给上层WLAN能力:

HDI层开发人员可根据WLAN模块提供的向上统一接口获取如下能力:建立/关闭WLAN热点、扫描、关联WLAN热点等。

其次,提供给驱动开发人员接口:

各WLAN厂商驱动开发人员可根据WLAN模块提供的向下统一接口适配各自的驱动代码.

最后是模型的优点:

基于OpenHarmony驱动框架的WLAN驱动模型,可实现跨操作系统迁移,自适应器件差异,模块化拼装编译等功能。

二、WIFI

WIFI是一种无线传输技术,一般由WIFI芯片实现,通过SDIO或USB接口等与主控芯片连接。WIFI芯片与主控有两种通信通路:命令和数据。数据和命令以分时复用的方式使用SDIO总线。

2.1、命令

命令有三种:base,station,ap。

base命令包括:电源、复位等。

station命令包括扫描,连接等。

ap命令包括建立热点,获取连接状态等。

2.2、数据

数据包含接受和发送,WIFI是网络设备,其数据需要经过网络协议栈处理,例如LWIP协议栈。

协议栈的数据最终通过SDIO发送到WIFI芯片,WIFI芯片的网络数据也是通过SDIO最终输入到协议栈。

OpenHarmony NetDev网络设备

三、代码实现

在代码上就可以分为命令和数据两个部分。

命令部分又可以分为三类,分别以feature的方式来命名:

  • base feature
  • sta feature
  • ap feature

这三个概念会贯穿命令传输的通路。

数据通路主要是实现与网络协议栈的适配对接。

3.1、学习方法

由于OpenHarmony的驱动框架采用的是C语言面向对象的编程方法,所以在学习中也尽量使用面向对象的方法来入手。着重理解各个对象之间的调用关系,以及对象的创建方法。

下图所示是WLAN 命令通路:

在这里插入图片描述

以hdf_wifi_core.c为界,可将通路分为两部分:HDI 层和核心层。
OpenHarmony WIFI 驱动模型源码学习
OpenHarmony WLAN HDI 源码学习

从这两个部分来分别学习 WIFI 命令通路。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值