该SDK提供了用于在AB153x SOC中创建应用程序的API。每个API的详细信息都可以在相应的部分中找到。
完整的AB153x SDK被组织为几个通用子系统和一组蓝牙配置文件。对于不同模块之间的操作,我们使用消息子系统。对于用户设置和系统配置,我们使用称为NVKEY子系统的非易失性密钥存储子系统;对于大数据,我们使用只读文件系统进行存储。
下图用于说明软件模块之间的关系:
图1:AB153x软件模块的架构
建筑
架构层描述如下。
应用
- 耳机参考设计是一个展示耳机产品的项目。
- AWSMCE参考设计是一个展示AWSMCE产品的项目。
- 示例项目是演示API使用情况的各种示例项目。
中间件
- 蓝牙配置文件是与设备之间基于蓝牙的无线通信的特定组件有关的规范,例如免提配置文件(HFP),音频/视频远程控制配置文件(AVRCP),人机接口设备配置文件(HID),串行端口配置文件(SPP),高级音频分发配置文件(A2DP)和Airoha无线立体声–多播扩展(MCE)。
- BT / BLE堆栈提供了堆栈和协议层,用于访问与数据的传输和管理控制相关的配置文件,例如通用访问配置文件(GAP),通用属性配置文件(GATT)和安全管理器(SM)。
- DSP为用户提供了实现自己开发的软件编解码器/算法的音频框架。然后,用户可以构建特定的音频方案。
- 第三党
- FatFS – FatFs是用于小型嵌入式系统的通用FAT文件系统。它用于控制文件系统中的数据存储和检索。
- LZMA – LZMA是默认的通用压缩方法,用于执行无损数据压缩。LZMA还提供快速解压缩和高压缩比,因此也适用于嵌入式应用。
- mbedTLS –传输层安全性(TLS)和安全套接字层(SSL)是加密协议,旨在提供计算机网络上的通信安全性。mbed TLS是开发人员的一种开源实现,它以最小的代码占用量在嵌入式产品中包括了加密和SSL / TLS功能。
- AirApp为用户提供了通过蓝牙BR / EDR或LE使用运行时应用程序命令环境(RACE)模块的环境。
- RACE运行时应用程序命令环境(RACE)提供了一个接口,供主机发送命令并从连接的硬件设备接收响应。
- 消息提供了用于应用程序开发的消息机制。发送和接收消息隔离模块,并触发不同模块之间的交互。它还允许我们为实际的消息调度定义计时器延迟。此机制有助于实现计时器效果。
- NVKEY提供了一种用于存储运行时可更改的小数据项(例如,其他用户配置数据等)的机制。
- ROFS语音提示或语音命令媒体文件被收集到内部闪存的区域中。程序员可以使用API读取它们。
- 控制台是一个类似于终端的环境,用于输入用户命令和读出系统信息。用户可以在此处添加其控制台命令。
BSP
- FreeRTOS是一个用于中间件组件和应用程序的开源软件操作系统。
- 硬件抽象层(HAL)提供了驱动程序应用程序编程接口(API),其中封装了用于操作系统(OS),中间件功能和应用程序的外围驱动程序的低级功能。