guozhanxin dd2505e676 add first version 2 yıl önce
..
common dd2505e676 add first version 2 yıl önce
debug dd2505e676 add first version 2 yıl önce
docs dd2505e676 add first version 2 yıl önce
firmware dd2505e676 add first version 2 yıl önce
freertos dd2505e676 add first version 2 yıl önce
include dd2505e676 add first version 2 yıl önce
README.md dd2505e676 add first version 2 yıl önce

README.md

# AIROC™ Bluetooth® Host Stack solution (for FreeRTOS)

Overview

AIROC™ Bluetooth® host stack solution includes Bluetooth® stack library, Bluetooth® controller firmware and platform/os porting layer. Bluetooth® stack library is designed for embedded device, it consumes less RAM/ROM usage but still keeps high performance. With AIROC™ Bluetooth® API set, application developers can use them easily to create their own application. The porting layer is implemented by CYHAL and CY_RTOS_AL (Hardware/Operation System Adaptation Layer), hence it can adapt to Cypress platforms, and easy to port to other vendor's platform.

Working flow

~ release-v1.3.0

  • Porting layer create 2 tasks
    • HCI task which handles HCI packet transmission and reception
    • BTU/BT task which handles Bluetooth® core stack and profiles
  • TX path:
    • Bluetooth® stack calls pf_write_xxx_to_lower( ) with packet data
    • Inside those functions,
      • Allocate memory from porting layer heap for the TX packet
      • Put TX packet into HCI task queue
    • HCI task gets TX packet from the queue then write the same to HCI UART
  • RX path:
    • UART driver fires the interrupt when data was coming from Bluetooth® controller
    • In IRQ handler, put the related message to HCI task queue
    • Once HCI task gets the message,
      • Allocate memory from porting layer heap, read the packet from UART and write the same to the allocated memory
      • Put RX packet into Bluetooth® task queue.
    • Bluetooth® task gets RX packet then calls wiced_bt_process_xxx() to notify Bluetooth® stack

since release-v2.0.0

  • Porting layer create 2 tasks
    • HCI_TX task which handles HCI packet from Bluetooth® stack to Bluetooth® controller
    • HCI_RX task which handles HCI packet from Bluetooth® controller to Bluetooth® stack
  • TX path:
    • Bluetooth® stack calls pf_write_xxx_to_lower() with packet data
    • Inside those functions,
      • Allocate memory from porting layer heap for the TX packet
      • Put TX packet into HCI_TX task queue
    • HCI_TX task gets TX packet from the queue then write the same to HCI UART
  • RX path:
    • UART driver fires the interrupt when data was coming from Bluetooth® controller
    • In IRQ handler, put the related message to HCI_RX task queue
    • Once HCI_RX task gets the message,
      • Read the packet from UART and write the same to the static buffer
      • Call wiced_bt_process_xxx() to notify Bluetooth® stack

API Reference Manual

© Infineon Technologies, 2022.