Bluetooth Software Architecture Overview

BlueZ is the official Linux Bluetooth stack as well as Android. It provides support for core Bluetooth layers and protocols. We use it to provide Bluetooth profiles on GB86XX and it consists of following components:
  • HCI Core
  • HCI UART, USB and Virtual HCI device drivers
  • L2CAP protocol module
  • Configuration and testing utilities
Figure 1. BlueZ Overview Diagram

In our case, we use UART as the Host Controller Interface (HCI) and AIC8800 is the Bluetooth Hardware in figure above.