wifi-加载驱动
IWifi.hal 驱动加载和函数映射(HIDL)
WifiService(java进程)通过IWifi.hal HIDL接口调用到C++端的Wifi.cpp
驱动加载时序
驱动加载代码流程:
Wifi.cpp-start->startInternal
WifiStatus Wifi::startInternal() {
if (run_state_ == RunState::STARTED) {
return createWifiStatus(WifiStatusCode::SUCCESS);
} else if (run_state_ == RunState::STOPPING) {
return createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE,
"HAL is stopping");
}
//初始化WifiModeController和LegacyHal
WifiStatus wifi_status = initializeModeControllerAndLegacyHal();
if (wifi_status.code == WifiStatusCode::SUCCESS) {
// Create the chip instance once the HAL is started.
chip_ = new WifiChip(kChipId, legacy_hal_, mode_controller_,
feature_flags_);
run_st