当前位置: 代码迷 >> 综合 >> 【WLAN】【软件】MTK芯片方案用户态和内核态通讯方式小结
  详细解决方案

【WLAN】【软件】MTK芯片方案用户态和内核态通讯方式小结

热度:17   发布时间:2023-12-15 12:56:42.0

一、前言

涉及驱动的软件开发中,用户态和内核态的通讯都是亘古不变的话题。
大部分的配置,都由媒介在用户态触发,最终生效却要通过驱动最终下发到芯片,这点对switch、wlan等类型芯片方案都是类似的。

本文主要以mtk的wlan芯片方案为例,说明一般wlan驱动开发中涉及的用户态和内核态通讯的几种方式。

二、具体方式说明

1、ioctl

这种方式属于驱动领域的主流。
特点:
1)一个ioctl接口,可通过cmd id识别出不同的操作(set、get、set什么、get什么等);
2)仅能在进程上下文执行;
3)可对驱动进行读写操作;
4)适用于读取大量数据的情况。

2、profile

这种方式可能是mtk芯片方案的特有的方式,在其他芯片方案中不多见。。
特点:
1)虽然对驱动可读可写,但一般仅用于进行配置参数,读取也只是读取配置,无法获取其他信息;
2)除可在进程上下文读写外,也可以在串口或telnet等界面cat查看其内容;
3)厂商一般提供了默认的profile,通俗用法都是在profile的基础上,根据业务情况,对其中个别配置进行动态调整。如果是固定的修改,不如直接更新profile来的方便。

3、proc

这种方式老生常谈了,在驱动和协议栈等场景