ATH12K驱动框架架构图

news2025/5/10 12:24:44

ATH12K驱动框架架构图

  • ATH12K驱动框架架构图(分层描述)
    • I. 顶层架构
    • II. 核心数据结构层次关系
    • III. 主要模块详解
      • 1. 核心模块 (Core)
      • 2. 硬件抽象层 (HAL)
      • 3. 无线管理接口 (WMI)
      • 4. 主机目标通信 (HTC)
      • 5. 复制引擎 (CE)
      • 6. MAC层
      • 7. 数据路径 (DP)
    • IV. 关键数据流路径
      • 1. 发送数据流 (TX Path)
      • 2. 接收数据流 (RX Path)
    • V. WMI命令流和事件处理
    • VI. MLO架构 (多链路操作)
    • VII. 初始化序列图

ATH12K驱动框架架构图(分层描述)

I. 顶层架构

┌───────────────────────────────────────────────────────┐
│                     Linux Kernel                      │
├───────────────────────────────────────────────────────┤
│                      mac80211                         │
├───────────────────────────────────────────────────────┤
│                     ATH12K Driver                     │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────┐  │
│  │  Core   │ │   MAC   │ │   DP    │ │Debug/Tracing│  │
│  └─────────┘ └─────────┘ └─────────┘ └─────────────┘  │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────┐  │
│  │   HAL   │ │   HTC   │ │   WMI   │ │     CE      │  │
│  └─────────┘ └─────────┘ └─────────┘ └─────────────┘  │
├───────────────────────────────────────────────────────┤
│           PCI/AHB 总线接口层 (Bus Interface)          │
├───────────────────────────────────────────────────────┤
│                      Hardware                         │
└───────────────────────────────────────────────────────┘

II. 核心数据结构层次关系

┌──────────────────────────────────────────────────────────────┐
│                     struct ath12k_hw_group                   │
│  ┌──────────────────────────────────────────────┐            │
│  │               struct ath12k_hw               │            │
│  │  ┌──────────────┐  ┌──────────────┐          │            │
│  │  │  struct      │  │  struct      │          │            │
│  │  │  ath12k      │  │  ath12k      │...       │            │
│  │  │  (radio 0)   │  │  (radio 1)   │          │            │
│  │  └──────────────┘  └──────────────┘          │            │
│  └──────────────────────────────────────────────┘            │
│                                                              │
│  ┌──────────────────────────────────────────────┐            │
│  │           struct ath12k_base  (SOC 0)        │            │
│  │  ┌─────────────┐ ┌─────────────┐             │            │
│  │  │struct ath12k│ │struct ath12k│...          │            │
│  │  │_pdev (0)    │ │_pdev (1)    │             │            │
│  │  └─────────────┘ └─────────────┘             │            │
│  └──────────────────────────────────────────────┘            │
│                                                              │
│  ┌──────────────────────────────────────────────┐            │
│  │           struct ath12k_base  (SOC 1)        │            │
│  │  ┌─────────────┐ ┌─────────────┐             │            │
│  │  │struct ath12k│ │struct ath12k│...          │            │
│  │  │_pdev (0)    │ │_pdev (1)    │             │            │
│  │  └─────────────┘ └─────────────┘             │            │
│  └──────────────────────────────────────────────┘            │
└──────────────────────────────────────────────────────────────┘

III. 主要模块详解

1. 核心模块 (Core)

┌──────────────────────────────────────────────────────────────┐
│                       Core Module                            │
├──────────────────────────────────────────────────────────────┤
│ ┌────────────────────┐  ┌─────────────────────────────────┐  │
│ │ Initialization     │  │ Resource Management             │  │
│ │ - ath12k_core_init │  │ - Memory allocation            │  │
│ │ - ath12k_core_qmi  │  │ - Interrupts                   │  │
│ │ - Firmware loading │  │ - Device tree parsing          │  │
│ └────────────────────┘  └─────────────────────────────────┘  │
│                                                              │
│ ┌────────────────────┐  ┌─────────────────────────────────┐  │
│ │ Power Management   │  │ Recovery handling               │  │
│ │ - Suspend/Resume   │  │ - SSR (Subsystem restart)       │  │
│ │ - Runtime PM       │  │ - FW crash handling             │  │
│ └────────────────────┘  └─────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

2. 硬件抽象层 (HAL)

┌─────────────────────────────────

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2372296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[计算机网络]物理层

文章目录 物理层的概述与功能传输介质双绞线:分类:应用领域: 同轴电缆:分类: 光纤:分类: 无线传输介质:无线电波微波:红外线:激光: 物理层设备中继器(Repeater):放大器:集线器(Hub)&…

幂等操作及处理措施

利用token模式去避免幂等操作 按以上图所示,除了token,应该也可以把传入的参数用MD5加密,当成key放入redis里面,业务执行完后再删除这个key.如还没有执行完,则请不要重复操作。纯属个人理解

Matlab 数控车床进给系统的建模与仿真

1、内容简介 Matlab217-数控车床进给系统的建模与仿真 可以交流、咨询、答疑 2、内容说明 略 摘 要:为提高数控车床的加工精度,对数控 车床进给系统中影响加工精度的主要因素进行了仿真分析研 动系统的数学模型,利用MATLAB软件中的动态仿真工具 究:依据机械动力学原理建立了…

低成本自动化改造的18个技术锚点深度解析

执行摘要 本文旨在深入剖析四项关键的低成本自动化技术,这些技术为工业转型提供了显著的运营和经济效益。文章将提供实用且深入的指导,涵盖老旧设备联网、AGV车队优化、空压机系统智能能耗管控以及此类项目投资回报率(ROI)的严谨…

我国脑机接口市场规模将破38亿元,医疗领域成关键突破口

当人类仅凭"意念"就能操控无人机编队飞行,当瘫痪患者通过"脑控"重新站立行走,这些曾只存在于科幻电影的场景,如今正通过脑机接口技术变为现实。作为"十四五"规划中重点发展的前沿科技,我国脑机接口…

Edu教育邮箱申请成功下号

这里是第2部分 如你所见,我根本就没有考虑流量的问题, 如果你有幸看到前面的内容,相信你能自己找到这个后续。

【Linux进程控制一】进程的终止和等待

【Linux进程控制一】进程的终止和等待 一、进程终止1.main函数的return2.strerror函数3.库函数exit4.系统调用_exit和库函数exit的区别5.异常信号6.变量errno 二、进程等待1.什么是进程等待?2.wait接口3.status4.waitpid接口 一、进程终止 1.main函数的return 写C…

今日行情明日机会——20250509

上证指数今天缩量,整体跌多涨少,走势处于日线短期的高位~ 深证指数今天缩量小级别震荡,大盘股表现更好~ 2025年5月9日涨停股主要行业方向分析 一、核心主线方向 服装家纺(消费复苏出口链驱动) • 涨停家数&#xf…

单片机-STM32部分:10、串口UART

飞书文档https://x509p6c8to.feishu.cn/wiki/W7ZGwKJCeiGjqmkvTpJcjT2HnNf 串口说明 电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种: TTL电平:3.3V或5V表示1&am…

RabittMQ-高级特性2-应用问题

文章目录 前言延迟队列介绍ttl死信队列存在问题延迟队列插件安装延迟插件使用事务消息分发概念介绍限流非公平分发(负载均衡) 限流负载均衡RabbitMQ应用问题-幂等性保障顺序性保障介绍1顺序性保障介绍2消息积压总结 前言 延迟队列介绍 延迟队列(Delaye…

React 播客专栏 Vol.5|从“显示”到“消失”:打造你的第一个交互式 Alert 组件!

👋 欢迎回到《前端达人 播客书单》第 5 期(正文内容为学习笔记摘要,音频内容是详细的解读,方便你理解),请点击下方收听 📌 今天我们不再停留在看代码,而是动手实现一个真正的 React…

解密火星文:LeetCode 269 题详解与 Swift 实现

文章目录 摘要描述题解答案题解代码分析构建图(Graph)拓扑排序(Topological Sort) 示例测试及结果时间复杂度空间复杂度实际场景类比总结 摘要 这篇文章我们来聊聊 LeetCode 269 题:火星词典(Alien Dictio…

动态规划-62.不同路径-力扣(LeetCode)

一、题目解析 机器人只能向下或向左,要从Start位置到Finish位置。 二、算法原理 1.状态表示 我们要求到Finish位置一共有多少种方法,记Finish为[i,j],此时dp[i,j]表示:到[i,j]位置时,一共有多少种方法,满…

5月9号.

v-for: v-bind: v-if&v-show: v-model: v-on: Ajax: Axios: async&await: Vue生命周期: Maven: Maven坐标:

从 Git 到 GitHub - 使用 Git 进行版本控制 - Git 常用命令

希望本贴能从零开始带您一起学习如何使用 Git 进行版本控制,并结合远程仓库 GitHub。这会是一个循序渐进的指南,我们开始吧! 学习 Git 和 GitHub 的路线图: 理解核心概念:什么是版本控制?Git 是什么&…

双指针算法详解(含力扣和蓝桥杯例题)

目录 一、双指针算法核心概念 二、常用的双指针类型: 2.1 对撞指针 例题1:盛最多水的容器 例题2:神奇的数组 2.2 快慢指针: 例题1:移动零 例题2:美丽的区间(蓝桥OJ1372) 3.总…

【网络编程】二、UDP网络套接字编程详解

文章目录 前言Ⅰ. UDP服务端一、服务器创建流程二、创建套接字 -- socketsocket 属于什么类型的接口❓❓❓socket 是被谁调用的❓❓❓socket 底层做了什么❓❓❓和其函数返回值有没有什么关系❓❓❓ 三、绑定对应端口号、IP地址到套接字 -- bind四、数据的发送和接收 -- sendto…

【应急响应】- 日志流量如何分析?

【应急响应】- 日志流量如何下手?https://mp.weixin.qq.com/s/dKl8ZLZ0wjuqUezKo4eUSQ

djinn: 3靶场渗透

djinn: 3 来自 <https://www.vulnhub.com/entry/djinn-3,492/> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.243 3&#xff0…

VS Code配置指南:打造高效的QMK开发环境

VS Code配置指南&#xff1a;打造高效的QMK开发环境 前言 你是否曾为QMK固件开发环境的搭建而头疼不已&#xff1f;本文将手把手教你使用Visual Studio Code&#xff08;简称VS Code&#xff09;这款强大的代码编辑器来构建一个完美的QMK开发环境&#xff0c;让你的键盘固件开…