- esp-hosted SDK
esp-hosted 方案介绍

-
esp-hosted 方案主要为
Linux或者MCU提供无线连接功能(WiFi或者BT/BLE) -
esp-hosted 解决方案包含了 esp-hosted FG 和 esp-hosted NG 两套方案
-
与传统 WiFi 网卡的区别在于
ESP 设备端需要烧录固件,而且对于FG 方案来说, WiFi 相关的指令需要自定义命令
esp-hosted 框架
- esp-hosted FG 系统架构

-
esp-hosted NG 系统架构

-
esp-hosted FG和 esp-hosted NG 的区别

传输接口
- esp-hosted FG 传输接口

- esp-hosted NG 传输接口

几种联网方案的区别

使用方法
软硬件设置
- esp-hosted FG 方案
- esp-hosted NG 方案
测试使用
- esp-hosted FG 方案
- esp-hosted NG 方案

通信速率
- 通信速率 - NG

- 通信速率 - FG

吞吐量性能
- 参见
esp-hosted吞吐量 说明

吞吐优化的一些 debug 方法
- 排查缓冲区瓶颈
各个 TASK 之间一般都是通过 queue 来进行缓冲,如果速率比较低,则某个 queue 一般存在堵塞现象,可以在
queue 的 send 接口加入毫秒级的超时机制,在超时之后将对应的 TASK 打印出来。
- 分析 SDIO 线上空闲时间
当出现吞吐低的时候, SDIO 线上肯定会出现大片的空闲时间。我们可以额外添加几个 GPIO 管脚,在传输的各个
TASK 不同阶段使用 GPIO 管脚打点,此时也能准确的排查堵塞点。如果并行化优化的很好,那么此时线上这些 GPIO
打点应该和 SDIO 传输会同时出现。
当吞吐率高时, SDIO 线上的利用率也会比较高。通过分析 SDIO 线上空闲时间,可以确定线上是否还存在优化空
间。
esp-hosted 问题分析方法
-
确定使用的芯片和外设接口 (比如使用 ESP32 芯片,SDIO 外设)
-
esp-hosted的版本 (使用FG还是NG,优先建议使用tag版本),Linux 驱动与芯片固件版本匹配 -
内核打印(通过
dmesg命令)以及芯片 LOG -
内核打印看到
WLAN的信息,说明硬件通信正常,否则需要排查硬件和前面的初始化操作

-
测试
WiFi命令是否可以通信,正常说明/dev/esps0没问题 -
测试
DHCP如果异常,则测试使用静态IP,正常说明DHCP Client存在问题



















