软件架构
图 3展示了GR5526 SDK的软件架构。
- Bootloader
固化在芯片中的引导程序,负责初始化芯片的软硬件环境,校验并启动应用程序。
- BLE Stack
低功耗蓝牙协议栈实现核心,由控制器(Controller)、同步适配层(ISOAL)、主机控制接口(HCI)和主机(Host)协议组成(包括ATT、L2CAP、GAP、SM、GATT),支持Broadcaster、Observer、Peripheral和Central角色。
- BLE SDK
软件开发工具包,提供易于使用的SDK BLE API、SDK System API和SDK RTLS API。
- SDK BLE API包括L2CAP、GAP、SM和GATT API,LE Audio API也包含在其中。
- SDK System API提供了对非易失性数据存储系统(NVDS)、Firmware升级(Device Firmware Update,DFU)、系统电源管理以及通用系统级访问接口的API定义。
- SDK RTLS API用于支持AoA(Angle of Arrival)和AoD(Angle of Departure)功能。RTLS独立封装lib库,向上与应用层进行数据交互,如接受定位参数配置、接收定位控制命令、上报定位原始数据和上报定位计算结果等;向下依赖SDK BLE API,获取Iq数据上报事件。此外还包含Music、DBSCAN等算法处理内容。
- Application
在SDK包中,提供了丰富的蓝牙及外设示例工程,每个示例工程中都包含编译后的二进制文件,用户可以下载到芯片中运行和测试。对于大部分的蓝牙应用,SDK包中的安卓APP也提供了对应的功能,方便用户测试。
- Drivers
外设驱动部分的API定义及说明。
- Graphic
GPU显示驱动模块SDK库。