日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用HCI log調(diào)試經(jīng)典藍(lán)牙?

泰凌微電子 ? 來源:泰凌微電子 ? 作者:泰凌微電子 ? 2023-03-22 10:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

泰凌TLSR9系列芯片支持經(jīng)典藍(lán)牙和低功耗藍(lán)牙5.3 各項核心規(guī)范,目前開發(fā)者可以基于泰凌提供的協(xié)議棧和參考設(shè)計,開發(fā)各種音頻相關(guān)產(chǎn)品,其中包括:雙模低延時TWS耳機、雙模低延時頭戴式耳機,雙模藍(lán)牙音響,雙模藍(lán)牙手表和穿戴類產(chǎn)品等。本文以泰凌雙模低延時頭戴式耳機為例,介紹開發(fā)產(chǎn)品時如何抓取、過濾、分析經(jīng)典藍(lán)牙相關(guān)Profile(以SPP為例),其他Profile也可通過類似分析SPP的方法進(jìn)行分析。

在調(diào)試開發(fā)經(jīng)典藍(lán)牙相關(guān)產(chǎn)品的時候,往往需要分析Profile流程是否正確,發(fā)出的數(shù)據(jù)包格式是否正常。而市面上抓取BR/EDR數(shù)據(jù)的儀器往往比較昂貴,不像LE可以使用普通的Sniffer抓取。此時我們可以通過BT master 設(shè)備成生的HCI log 調(diào)試經(jīng)典藍(lán)牙。

1抓取HCI log

不同系統(tǒng)獲取HCI log的方式有差異,手機可直接在調(diào)試模式下生成。本文主要介紹在Windows 環(huán)境下通過USB 藍(lán)牙適配器抓取HCI log的方法。建議使用外部USB 藍(lán)牙適配器,在禁用主板上的藍(lán)牙適配器后,再使用Wire shark抓取外部的USB 藍(lán)牙適配器。

為方便演示,我們在編譯雙模低延時Headset工程前(以下統(tǒng)稱Headset),需要先使能 MY_BT_SPP_ENABLE,再將SPP的Service class ID設(shè)置為 0x1101(修改為圖1所示即可)。

wKgaomQaZy2AZk3aAARE5HvWJgc773.jpg

(圖1)

修改完成后,將生成好的固件燒錄到EVB(C1T213A20_V1.3),再進(jìn)行如下動作:

1、打開Wire shark,將USBPcap1 設(shè)置為“Capture from newly connected device”;

2、插上USB 藍(lán)牙適配器;

*注意:這兩步很關(guān)鍵,否則可能抓取的數(shù)據(jù)無法解析,或者解析不完整。

執(zhí)行完如上兩步,可以看到藍(lán)牙適配器已枚舉完成(圖2)。

wKgaomQaZy2ASI97AAE2ulr_trA744.jpg

(圖2)

此時我們再雙擊 EVB上的SW5讓Headset成為可發(fā)現(xiàn)狀態(tài),在藍(lán)牙的搜索界面中,可以發(fā)現(xiàn)一個“Game Headset”的耳機設(shè)備。 連接完成后就可以在藍(lán)牙設(shè)置中看到 Game Headset “Telink Serial_Port Service”(如圖3)。

wKgaomQaZy2AWF1HAACrUgJUqp8942.jpg

(圖3)

在連接上設(shè)備,枚舉到SPP串口后,可使用串口助手進(jìn)行數(shù)據(jù)收發(fā)包。 對應(yīng)的串口號為上(圖3)所示COM8。

在進(jìn)行音頻播放、錄音等一系列操作后,可以通過Wire shark 獲取到完整的HCI log。 在正常使用時,一般是直接導(dǎo)出手機中的HCI log,此處僅為演示方便。

2過濾HCI log

抓取到HCI log后,使用Wire shark查找對應(yīng)Profile的日志,我們可以用到Wire shark的過濾器過濾Profile。 常用的過濾關(guān)鍵字有 bta2dp、btatt、btavctp、btavdtp、btavrcp、bthfp、btsdp、btspp 等。

以HFP為例,當(dāng)需要查看HFP中AG與HF的AT命令流程,可以通過 “bthfp” 過濾。 如下(圖4)所示,在過濾器中輸入“bthfp”再回車,即可顯示“HFP”相關(guān)的所有數(shù)據(jù)包。

wKgZomQaZy2AcUz0AAFr78G_OKk302.jpg

(圖4)

由于HFP都是基于rfcomm的,如果我們也同時希望查看rfcomm 協(xié)議,只需要在過濾器里面將 HFP與rfcomm通過 “||” 連接即可。 更詳細(xì)的使用方法可查看Wire shark的過濾器官方文檔說明。

3分析HCI 數(shù)據(jù)包

Wire shark中所抓取的HCI CMD 、EVENT、 ACL、Synchronous 、ISO 等,都在 Core spec上有具體的規(guī)范(詳可參考BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E ),以其中一條為例,如(圖5)所示:

wKgZomQaZy2AaUrWAAKGFnAVDwQ512.jpg

(圖5)

可以看到這是一包HCI ACL包,通過Core spec中描述的可知HCI數(shù)據(jù)包的前4個字節(jié)為ACL data packet的相關(guān)參數(shù)(圖6)。

wKgZomQaZy2AZmcPAAAljrf32jU748.jpg

(圖6)

而ACL packet Data部分的內(nèi)容為L2CAP數(shù)據(jù)包,通過 DATA packet format(如圖7)(BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 3, Part A page 1034 ) 可知HCI ACL data部分前兩個字節(jié)為Length,后兩個字節(jié)為Channel ID。Channel ID是在L2CAP Connect時分配的,可以看到Wire shark已提示這是建立的PSM為RFCOMM的L2CAP。而基于L2CAP的上層協(xié)議,Wire shark此時也已經(jīng)解析完整了。

wKgaomQaZy2ASJVFAABI1vN9IJg236.jpg

(圖7)

關(guān)于Core spec、Profile、Protocol相關(guān)的更多內(nèi)容可以通過如下鏈接獲取到相關(guān)文檔。

4使用HCI log 調(diào)試SPP

對于SPP的調(diào)試,可以通過如下方式進(jìn)行:

1、在電腦連接上Headset后,通過(圖3)得知SPP的串口號是 “COM8”;

2、使用串口工具打開“COM8”,波特率可以選擇 1000000或115200;

3、使用串口工具發(fā)送幾次“Telink SPP HCI debug Demorn”;

同時,我們也可以在TDB調(diào)試日志里面看到Headset收到的數(shù)據(jù)內(nèi)容為:

wKgZomQaZy2Ac3c4AAAPyojrw8Q064.jpg

這里的16進(jìn)制數(shù)據(jù)轉(zhuǎn)換為ASCII碼后就是如上字符串。

4、抓取完HCI數(shù)據(jù)包后,通過 btrfcomm.channel == x 來過濾SPP包。這里的x是我們SPP的rfcomm channel,通過SDK代碼“#define SPP_CFG_SERVER_CHANNEL 0x04”得知 channel為4;

5、過濾后得到的數(shù)據(jù)如下(圖8)所示:

wKgaomQaZy2AQCbWAAH0-r9dC6k733.jpg

(圖8)

綜上,在對規(guī)范性文檔有一定了解的基礎(chǔ)上,配合HCI log,可以協(xié)助我們進(jìn)行藍(lán)牙協(xié)議相關(guān)的開發(fā)工作。 最為簡單的就是流程對比,如果通過流程對比無果,再利用規(guī)范文檔對流程進(jìn)行正確性判斷。 如何使用HCI log調(diào)試經(jīng)典藍(lán)牙的方法就講到這里,歡迎大家評論指正!

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8480

    瀏覽量

    286072
  • 藍(lán)牙
    +關(guān)注

    關(guān)注

    119

    文章

    6399

    瀏覽量

    179373
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    653

    瀏覽量

    35926
  • Log
    Log
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    11741
  • HCI
    HCI
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    13809

原文標(biāo)題:【技術(shù)專欄】如何使用HCI log調(diào)試經(jīng)典藍(lán)牙?

文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    BSP調(diào)試#03:Ethernet(RK3588)

    章節(jié)無關(guān)緊要。 硬件設(shè)計 軟件配置 ETH0 (eth1) ETH1 (eth0) 調(diào)試過程 【問題 1 描述】: GMAC 以太網(wǎng)驅(qū)動初始化失敗,無網(wǎng)絡(luò)節(jié)點生成, 具體 log 如下。 【問題 1
    的頭像 發(fā)表于 04-03 15:53 ?1w次閱讀
    BSP<b class='flag-5'>調(diào)試</b>#03:Ethernet(RK3588)

    藍(lán)牙5.3 經(jīng)典音頻 + LE Audio,一顆模塊兼顧兩種生態(tài)

    藍(lán)牙連手機聽歌、打電話,大家早已習(xí)以為常;近幾年 LE Audio 冒頭,多設(shè)備同步、低延遲、廣播音頻成了新賣點。問題來了:經(jīng)典藍(lán)牙生態(tài)一時半會退不了,LE Audio 又確實香,選誰?——其實
    的頭像 發(fā)表于 03-24 16:11 ?951次閱讀

    Texas Instruments LOG300DEVM和LOG300RGTEVM評估模塊數(shù)據(jù)手冊

    Texas Instruments LOG300DEVM和LOG300RGTEVM評估模塊 (EVM) 設(shè)計用于評估集成對數(shù)檢波器、低噪聲放大器 (LNA) 和輸入頻率檢測器的性能,所有這些都集成在
    的頭像 發(fā)表于 07-21 10:15 ?881次閱讀
    Texas Instruments <b class='flag-5'>LOG</b>300DEVM和<b class='flag-5'>LOG</b>300RGTEVM評估模塊數(shù)據(jù)手冊

    cyw43438藍(lán)牙加載固件失敗的原因?

    主控平臺是stm157 linux5.4, 目前加載系統(tǒng)自帶的hci_uart.ko 加載固件的時候超時 wifi功能正常,但是有藍(lán)牙設(shè)備出來。模組是cyw43438的模組。幫忙看下 . 謝謝
    發(fā)表于 07-09 07:35

    請問如何通過HCI在20706上配置I2S?

    我們通過刷新空固件從另一臺主機通過 HCI 使用 CYW20706。 在測試 HFP 時,我們可以通過 HCI 發(fā)送/接收 SCO 數(shù)據(jù)包: hci_send_cmd (&
    發(fā)表于 07-07 08:16

    使用HCI UART端口更新CYBT-343026模塊固件,這個進(jìn)程需要迷你驅(qū)動程序嗎?

    我正在計劃為我的主機 MCU 安裝一個引導(dǎo)加載程序。 它還需要更新 CYBT-343026 藍(lán)牙模塊的固件。 我讀過規(guī)范 \"
    發(fā)表于 07-07 06:53

    求助,關(guān)于CYW920829M2EVK-02使用AIROC藍(lán)牙測試和調(diào)試工具 1.3 測試 HCI 指令的問題求解

    第三章第五步,執(zhí)行double-在設(shè)備管理器中查看檢測到的端口名稱為\'HCI UART\'而不是文檔 描述 的\'Kitprog3 USB-UART\'、是驅(qū)動問題導(dǎo)致的 hci通訊異常么?
    發(fā)表于 07-02 06:24

    哪些芯片支持藍(lán)牙經(jīng)典 A2DP 配置文件和 LE 音頻?

    哪些芯片支持藍(lán)牙經(jīng)典 A2DP 配置文件和 LE 音頻?
    發(fā)表于 07-01 06:41

    藍(lán)牙模塊CYBT-343151-02 .. HCI UART完全無響應(yīng)是怎么回事?

    我將 CYW20706 硅基藍(lán)牙模塊(CYBT-343151-02)連接到定制板上的 MCU,其中我們的 MCU 通過 HCI uart 與 CYBT 模塊連接。 我能夠配對電腦中的藍(lán)牙模塊,但我
    發(fā)表于 06-30 08:23

    如何在CYW20706 evk 中運行 hci 模式?

    我想在 HCI 模式下運行 cyw920706 evk。 您能提供文檔參考以便我可以執(zhí)行一些 HCI 命令嗎?
    發(fā)表于 06-30 08:03

    是否可以通過 AIROC 藍(lán)牙測試和調(diào)試工具 v1.4 或 HCI 命令輸出突發(fā)波形?

    我正在準(zhǔn)備英飛凌藍(lán)牙模塊的射頻測試。 是否可以通過 AIROC 藍(lán)牙測試和調(diào)試工具 v1.4 或 HCI 命令輸出突發(fā)波形?
    發(fā)表于 06-30 06:10

    CYBT353027 HCI與主機MCU通信,對AIROC? HCI UART消息無響應(yīng),為什么?

    我正在使用 CYBT 353027 Bluetooth?芯片和 NXP Kinetis K24 作為主機 MCU。 我們能夠使用AIROC? -HCI_Control-Protocol 文檔中概述
    發(fā)表于 06-26 06:20

    如何在不直接使用 HCI UART 的情況下為 CYSBSYSKIT-DEV 01 設(shè)置Bluetooth?地址?

    工具,但它不支持 kitprog3 設(shè)備(CYSBSYSKIT-DEV 01)。 b) 根據(jù)我的理解, AIROC?調(diào)試工具也需要訪問 HCI UART 端口。 (但已嘗試。 我連接了運行 BT mnf
    發(fā)表于 06-25 06:45

    如何調(diào)試nRF5 SDK

    ,以及命令行方式等多種手段來調(diào)試你的代碼。 1. 通過打log方式進(jìn)行調(diào)試 nRF5 SDK支持UART和SWD J-Link(RTT)兩種底層通信方式來打印日志,SDK14之后日志也可以通過
    的頭像 發(fā)表于 06-24 08:59 ?1163次閱讀
    如何<b class='flag-5'>調(diào)試</b>nRF5 SDK

    解鎖LuatOS-log庫:全棧工程師的日志管理實戰(zhàn)課!

    針對全棧開發(fā)者設(shè)計的實戰(zhàn)教程,本文聚焦LuatOS平臺log庫的高效使用,從基礎(chǔ)配置到高級調(diào)試策略,手把手教你搭建可擴展的日志系統(tǒng),提升項目維護效率。 今天,我們一起來認(rèn)識LuatOS的log
    的頭像 發(fā)表于 05-12 15:23 ?1662次閱讀
    解鎖LuatOS-<b class='flag-5'>log</b>庫:全棧工程師的日志管理實戰(zhàn)課!
    阿坝| 丰县| 水富县| 榆社县| 武平县| 沙洋县| 调兵山市| 潜山县| 澎湖县| 北宁市| 博乐市| 旬阳县| 曲阜市| 抚顺市| 绍兴县| 商都县| 肇源县| 永川市| 盐池县| 手机| 安宁市| 建阳市| 阳高县| 噶尔县| 布尔津县| 嵩明县| 荔波县| 芦溪县| 石泉县| 定兴县| 汕尾市| 江都市| 吴川市| 榆中县| 定襄县| 博乐市| 云霄县| 普格县| 嘉鱼县| 保康县| 两当县|