本文適用範圍
ADK22.3~
問題/功能描述
實現方案
如下圖是CSR Synergy Bluetooth目錄結構
bt目錄 應用協議層
Porting: Trusted Device database實現,主要用於保存藍牙設備信息
profile_managers:藍牙棧(包括配置、協議、核心)
Config 包含功能配置、編譯配置文件
Inc 包含頭文件,模塊內部使用不公開給應用層。
Frw目錄 synergy框架層
Bsp(Board Support Package)依賴平台特定功能,主要包括任務調度、消息轉發、內存、計時器、中斷、panic等和平台密切相關的底層接口
Gsp(Generic Support Package)通用功能基本和平台無關接口實現
Inc目錄
公開接口的頭文件給到上層application使用的
Service目錄
模塊基於平台創建的task運行管理和其它task交互
綜上可以了解,一個新工程創建,首先是config目錄裡面對需要定製功能修改,基本就是宏定義形式。研發主要關注在bt目錄下面具體到每個協議的實現,涉及到代碼修改也多是在這裡進行。若是上層調用主要在inc目錄找對應的接口函數。其它目錄基本不會有改動。
常見問題
1.還可以使用老軟體藍牙協議代碼嗎
目前代碼是可以的。它不支持LE audio,後續也不會升級,所以不推薦使用
2.有沒有官方文檔介紹說明
有的可以參考文檔80_13827_1,80-34461-1
3.可以支持哪些profile
基本statck已經實現了據大部分的profile,不過應用層只有和耳機相關的幾個profile的使用代碼。如果用在車載或其他產品需要自行實現應用層
4.協議使用有什麼額外費用嗎
沒有,代碼開放免費使用
5.以前藍牙相關代碼還可以移植過來嗎
應用層的還有借鑑作用,底層的代碼都要推倒重來。
評論