BTチップとの通信にはシステムモジュールがあり、そのフローは とは何ですか?
一般Bluetoothスタック(Bluedroidだけではなく)(その後、チップからの読み取りに使用する一つのスレッドで、UART(電話やカーキットなどの組み込みデバイス)またはUSB(PC上で最も使用されている)を介してチップに話をしますH4プロトコルまたはBCSPを使用します)、書き込みスレッドを1つのスレッド(同じプロトコル)として使用できます。 初期化手順と同様に、Bluetoothチップは電源が入ります(たとえば、LinuxまたはAndroidでrfkillを使用します)。スタックはハードウェアインターフェイスを開きます。 UART、いくつかの設定ファイル(例えば、ローカルブルートゥースアドレス)とパッチファイルを書いて、チップを暖かく休息させる。その後、チップとスタックは正常に機能します。
What is the role of HCI in the above flow?
私はあなたが用語「上記フローにおけるHCI」について何を意味したわからない、私はあなたが、データフローや他のものを意味すると仮定しますか?スタックは、チップから送信されたパケットタイプを判断し、HCIイベント、ユーザデータ(L2CAP)、または他の種類のパケットフォーマットに分割し、それらを上位レイヤに(コールバックして)転送する。 RFCOMMまたはAVDTP。反対側では、上位層のプロトコルとプロファイルがデータを収集し、それをBluetoothチップに送信します。
HCIはBluetoothチップとの実際の通信(コマンドとデータ転送)を実行しますか?または、通信(HCISnoopログ)のログのみを実行しますか。
HCIが実際にホストとコントローラの間だけのインターフェースだったので、最初はい、いくつかの部分のコードは、実際の通信に係る、どこかでログインbtsnoop生成されます彼らのだった、あなたは、コードの観点から、(それがHCIの一部に属していると言うことができます)でも、それはHCIの部分に属していないと言うことができます(ロジックの観点から)。
ブルートゥースは、ほとんどが「ソケット」蒸気によって通信します –
@ cricket_007あなたの応答に感謝します。私はSocketが上の階層にあると信じています。私は、BTスタックとBTチップの間の通信フローとモジュールを理解することに興味があります。 – Pravy