- Kernel Layer
- Bluetooth kernel subsystem core
- L2CAP and SCO audio kernel layers
- RFCOMM, BNEP, CMTP and HIDP kernel implementations
- HCI UART, USB, PCMCIA and virtual device drivers
- User Space Layer
- General Bluetooth and SDP libraries and daemons
- Configuration and testing utilities
- Protocol decoding and analysis tools
Kernel Option
-*- Networking support --->
-*- Bluetooth Subsystem support --->
(...將需求部分開啟....)
-*- Bluetooth Subsystem support --->
(...將需求部分開啟....)
圖一: Bluetooth Core System 圖片來源: Bluetooth 4.0 Spec |
圖二: Bluetooth Stack |
如上述,BlueZ實作 Linux Kernel Layer and User Layer,而他們之間對應關係如下 :
- bluetooh.ko,為blueZ的核心,其餘的所有module,都需要透過這個Service運作。
- hci_uart.ko, transporting HCI Packet over UART Packet
- hci_usb.ko, transporting HCI Packet over USB Packet
- l2cap.ko,L2CAP是負責多工處理的功能,將不同Application Service的Packet,有效率的傳送至下層處理,也可做QoS的功能。
- rfcomm.ko,若想使用termianl傳遞Bluetooth Packet,則須先模擬一個Serial Port,這些由rfcomm來完成。
- sco.ko,負責處理聲音傳遞。
圖三: Figure 16.2 Bluetooth protocol layers mapped to BlueZ kernel modules 圖片來源: Chapter 16. Linux Without Wires |
[1] bluetooth org
[2] BlueZ
[3] Chapter 16. Linux Without Wires
[4] Study BT concept
沒有留言:
張貼留言