android4.4bt培訓(xùn)-藍(lán)牙底層_第1頁
android4.4bt培訓(xùn)-藍(lán)牙底層_第2頁
android4.4bt培訓(xùn)-藍(lán)牙底層_第3頁
android4.4bt培訓(xùn)-藍(lán)牙底層_第4頁
android4.4bt培訓(xùn)-藍(lán)牙底層_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Android4.4藍(lán)牙協(xié)議與底層Jianli.dong2014-12-16藍(lán)牙協(xié)議與底層介紹藍(lán)牙協(xié)議棧代碼位置及介紹藍(lán)牙關(guān)鍵log及注意事項(xiàng)藍(lán)牙概述藍(lán)牙技術(shù)特點(diǎn)藍(lán)牙系統(tǒng)結(jié)構(gòu)藍(lán)牙系統(tǒng)結(jié)構(gòu)分為三大部分應(yīng)用中間協(xié)議層底層硬件模塊應(yīng)用應(yīng)用藍(lán)牙耳機(jī)相關(guān)的

應(yīng)用撥打HFPsco/escoAT命令指令集聽音樂/AVDTPAVRCP應(yīng)用與

相關(guān)的

應(yīng)用傳文件OPPOBEX上網(wǎng)TCP/UDPIP組網(wǎng)BNEP藍(lán)牙系統(tǒng)結(jié)構(gòu)藍(lán)牙系統(tǒng)結(jié)構(gòu)分為三大部分應(yīng)用中間協(xié)議層底層硬件模塊中間協(xié)議層中間協(xié)議層串口仿真(

M)多路串口仿真流控幀類型中間協(xié)議層服務(wù)發(fā)現(xiàn)協(xié)議(SDP)數(shù)據(jù)元通用唯一標(biāo)示符(UUID)服務(wù)類中間協(xié)議層邏輯鏈路控制與適配協(xié)議(L2CAP)協(xié)議復(fù)用分段與重組服務(wù)質(zhì)量信息的交換組抽象中間協(xié)議層其他 協(xié)議HCI驅(qū)動物理總線(串口,USB等)驅(qū)動主機(jī)物理總線物理總線固件HCI

FirmwareLMRF藍(lán)牙控制器主機(jī)與控制器接口(HCI)藍(lán)牙系統(tǒng)結(jié)構(gòu)藍(lán)牙系統(tǒng)結(jié)構(gòu)分為三大部分應(yīng)用中間協(xié)議層底層硬件模塊底層硬件模塊底層硬件模塊底層硬件部分包括無線跳頻(RF)、基帶(BB)和鏈路管理(LM)RF層通過2.4GHz無需

的ISM頻段的微波,實(shí)現(xiàn)數(shù)據(jù)位流的過濾和傳輸,本層協(xié)議主要定義了藍(lán)牙收發(fā)器在此頻帶正常工作所需要滿足的條件?;鶐ж?fù)責(zé)跳頻以及藍(lán)牙數(shù)據(jù)和信息幀的傳輸。鏈路管理(LM)負(fù)責(zé)連接、建立和拆除鏈路并進(jìn)行安全控制。鏈路為SCO同步話音鏈路與ACL

異步數(shù)據(jù)鏈路。底層硬件模塊藍(lán)牙的SIG規(guī)定了四種與硬件連接的物理總線方式:USB、RS232、UART和PC卡。藍(lán)牙協(xié)議與底層介紹藍(lán)牙協(xié)議棧代碼位置及介紹藍(lán)牙關(guān)鍵log及注意事項(xiàng)藍(lán)牙協(xié)議棧代碼位置及介紹,便于增加新的profile;從框架圖可以發(fā)現(xiàn)bluedroid有以下特點(diǎn):1.層次結(jié)構(gòu)清晰。各個profile對上層接口增加了HAL層,便于移植。2.去掉了DBus,F(xiàn)ramework的Java代碼直接調(diào)用到Bluedroid的Native代碼。藍(lán)牙協(xié)議棧代碼位置及介紹Application

Framework該層代碼主要是利用android.bluetooth

APIS和BluetoothProcess進(jìn)行交互。也就是通過Binder

IPC機(jī)制調(diào)用

bluetooth

進(jìn)程;代碼位于frameworks/base/core/java/android/bluetooth下。Bluetooth

Process該層代碼主要是實(shí)現(xiàn)Bt

service和各種profile,通過JNI調(diào)用到HAL層。代碼最后編譯形成一個android

app包,位于

package/apps/Bluetooth下。BluetoothJNI該層代碼位于packages/apps/bluetooth/jni下,定義了藍(lán)牙適配層和協(xié)議層對應(yīng)的JNI服務(wù),直接調(diào)用HAL層并給HAL層提供相應(yīng)的回調(diào)。藍(lán)牙協(xié)議棧代碼位置及介紹4.

Bluetooth

HAL定義了android.bluetooth

APIs和BT

process調(diào)用的標(biāo)準(zhǔn)接口,通過調(diào)用這些接口使得hardware運(yùn)行正常。代碼位于

hardware/libhardware/include/hardwarebluetooth.h:

Contains

the

HAL

for

the

Bluetooth

hardwareon

thedevicebt_av.h:

Contains

the

HAL

for

the

advanced

audio

profile.bt_hf.h:

Containsthe

HAL

for

the

handsfree

profile.bt_hh.h:

Contains

the

HALfor

the

HID

hostprofile

bt_hl.h:

Contains

the

HAL

for

the

health

profilebt_pan.h:

Contains

the

HAL

for

the

pan

profilebt_sock.h:

Contains

theHAL

for

the

socketprofile.在HAL層并沒有實(shí)現(xiàn)定義的藍(lán)牙協(xié)議與屬性,其默認(rèn)實(shí)現(xiàn)在Bluedroid中,位于external/Bluetooth/bluedroid,用戶可以根據(jù)自己的需求增加屬性。藍(lán)牙協(xié)議棧代碼位置及介紹5.

BluetoothStack實(shí)現(xiàn)了HAL層中的定義,可以通過擴(kuò)展和改變配置來自定義。代碼位于external/Bluetooth/bluedroid下。BlueDroid分為兩個部分:1、Bluetooth

Embedded

System(BTE),它實(shí)現(xiàn)了BT的 功能,通過HCI與藍(lán)牙 交互實(shí)現(xiàn)藍(lán)牙協(xié)議棧的通用功能和相關(guān)協(xié)議。BTE還包括一個

內(nèi)核接口(GKI),藍(lán)牙 廠商可通過GKI快速輕松的移植藍(lán)牙協(xié)議棧到其他操作系統(tǒng)或

平臺上。2、Bluetooth

Application

Layer

(BTA),用于和androidframework層交互,實(shí)現(xiàn)藍(lán)牙設(shè)備管理、狀態(tài)管理以及一些應(yīng)用規(guī)范。協(xié)議棧代碼結(jié)構(gòu)external/bluetooth/bluedroidaudio_a2dp_hwbtabtifhcimainstackbte_main.cbte_init.c從代碼上可以清晰的發(fā)現(xiàn)android

4.4的優(yōu)點(diǎn):層次結(jié)構(gòu)清晰。各個profile對上層接口 ,便于增加新的profile.去掉了DBus,F(xiàn)ramework的Java代碼直接調(diào)用到Bluedroid的Native代碼。3.Bluetooth

HAL也屬于Android4.2新增模塊,它由藍(lán)牙 規(guī)范硬件抽象層和藍(lán)牙應(yīng)用規(guī)范硬件抽象層組成。由于HAL層的 作用,上層代碼可輕松移植到不同平臺。4.作為整個藍(lán)牙服務(wù)的 ,Bluetooth

Stack模塊則由Bluetooth

Application

Layer(縮寫為BTA)和Bluetooth

Embedded

System(縮寫為BTE)兩大部分組成。BTA實(shí)現(xiàn)了藍(lán)牙設(shè)備管理、狀態(tài)管理及一些應(yīng)用規(guī)范的bluedroid實(shí)現(xiàn)。而BTE則通過HCI與廠商藍(lán)牙 交互以實(shí)現(xiàn)了藍(lán)牙協(xié)議棧的通用功能和相關(guān)協(xié)議。另外,BTE還包括一個

內(nèi)核接口(GKI),藍(lán)牙 廠商可借助GKI快速輕松得移植藍(lán)牙協(xié)議棧到其他操作系統(tǒng)或 平臺上。藍(lán)牙協(xié)議與底層介紹藍(lán)牙協(xié)議棧代碼位置及介紹藍(lán)牙關(guān)鍵log及注意事項(xiàng)藍(lán)牙關(guān)鍵log參見文檔Android4.4藍(lán)牙log分析pdf藍(lán)牙Log分類有效的Log是分析問題的重要保障,分析藍(lán)牙問題需要涉及到三類Log:Android

log(包括main

log,systemlog,event

log等)HCI

Log(通常說的bt

log)Controller

log(通常說的cp2

log)藍(lán)牙Log抓取方法展訊平臺常用LOG工具使用指南.ppt

這篇文檔對常用工具Log抓取方法有了較多的講解,此處主要針對android4.4的log設(shè)置做下講解。測試藍(lán)牙模塊前的一些準(zhǔn)備工作,步驟如下:進(jìn)入工程模式:*#*#83781#*#*----向左滑動屏幕或者點(diǎn)擊DEBUG

TAB頁,進(jìn)入DEBUG&LOG界面(圖1)選擇Log

Settings選項(xiàng),進(jìn)入Log

settings界面(圖2)選擇SlogUI選項(xiàng),進(jìn)入SlogUI界面(圖3)檢查Android Modem

Log,Bluetooth

Log是否勾選(圖4),需要勾選(圖5)藍(lán)牙Log抓取方法圖1圖2藍(lán)牙Log抓取方法圖3圖4藍(lán)牙Log抓取方法圖5藍(lán)牙Log抓取及提交CQ注意事項(xiàng)由于Bluetooth問題較復(fù)雜,可能需要分析APP,F(xiàn)ramwork,driver,CP2等多個模塊,因而CR中提供有效信息對于分析問題非常重要。完整的Log是分析問題的重要保障,不怕測試測到問題,就怕測試到問題但卻沒有Log或者Log不全,導(dǎo)致問題不能分析或者因?yàn)長og不全需要復(fù)現(xiàn)測抓log,花費(fèi)測試工程師較多時間,特別是一些低概率問題。有效的Slog.測試前的檢查工作,準(zhǔn)備工作是否做好。務(wù)必確保三項(xiàng)log開關(guān)是打開記錄出現(xiàn)問題的時間點(diǎn)藍(lán)牙Log抓取及提交CQ注意事項(xiàng)提交問題時記錄下出問題的時間,這有助于從大量的log中快速定位問題問題描述用準(zhǔn)確而詳細(xì)的操作步驟具體的問題現(xiàn)象如文件傳輸失敗,不要籠統(tǒng)的描述“傳輸失敗”,需要說明是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論