当前位置 博文首页 > 码农之家:【WLAN】【软件】MTK芯片方案用户态和内核态通讯方式

    码农之家:【WLAN】【软件】MTK芯片方案用户态和内核态通讯方式

    作者:[db:作者] 时间:2021-07-30 20:55

    一、前言

    涉及驱动的软件开发中,用户态和内核态的通讯都是亘古不变的话题。
    大部分的配置,都由媒介在用户态触发,最终生效却要通过驱动最终下发到芯片,这点对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

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

    cs