android藍芽hal層程式碼跟蹤記錄

jypeitao發表於2014-03-31

Android HAL層的由來和原理,網上有一大堆哦。目前沒做驅動,沒有深研過。本文主要是以藍芽的實現程式碼來分析下怎麼去跟蹤函式執行流程。

 

MTK  Android 4.2 原始碼協議棧是blueangel

 

MTK的藍芽,目前協議棧以上的程式碼保持了原生風格。

frameworks/base/core/java/android/bluetooth/BluetoothAdapter.java

frameworks/base/services/java/com/android/server/BluetoothManagerService.java

packages/apps/Bluetooth/src/com/android/bluetooth/btservice/AdapterService.java

packages/apps/Bluetooth/jni/com_android_bluetooth_btservice_AdapterService.cpp

 

下圖是根據id找到bluetooth_module_t

 

這裡可以全域性搜尋bluetooth_module_t或者搜尋get_bluetooth_interface

如果id唯一也可以考慮搜尋id,但是這裡的idbluetooth,有很多的。

HAL層的實現來塊,可以根據下面的程式碼去找對應的庫檔案。


 

使用MTK的協議棧blueangel還是原生協議棧bluedroid就從圖1這裡開始處理。

參考連結:

http://blog.csdn.net/hongtao_liu/article/details/6060734

http://blog.csdn.net/luoshengyang/article/details/6573809

http://blog.csdn.net/yutao52shi/article/details/12690353


相關文章