[RK3288][Android6.0] WiFi的HAL层加载问题

本文档详细介绍了在Rockchip RK3288平台上,运行Android 6.0系统时,WiFi HAL层加载过程中涉及到的组件和流程。尽管通常认为hardware目录与vendor相关,但在WiFi启动时,系统意外地调用了broadcom目录下的库来完成HAL的加载。在启动流程中,先进行stub函数初始化,随后根据BOARD_WLAN_DEVICE的定义加载相应的vendor HAL,此处为libwifi-hal-bcm库,该库位于hardware/broadcom/wlan/bcmdhd/wifi_hal路径下。这一发现揭示了在Android系统中,即使硬件平台不同,也可能会用到特定vendor的HAL实现。
摘要由CSDN通过智能技术生成

Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

背景:

几年前做高通平台到现在,我一直认为hardware下面目录都是只跟用哪个vendor相关,比如现在用的是rk,那么就是rockchip目录有用,现在才发现broadcom也会在WiFi中被用到,还好偷懒没把此git从仓库中删除…

过程:

WiFi开启的时候会调用如下流程来加载HAL
WifiNative.startHal -> startHal -> startHalNative -> android_net_wifi_startHal

static jboolean android_net_wifi_startHal(JNIEnv* env, jclass cls) {
......
    if(init_wifi_hal_func_table(&hal_fn) != 0 ) {
        ALOGD("Can not initialize the basic function pointer table");
        return
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值