Software Architecture
The software architecture of GR551x SDK is shown in Figure 3.
- Bootloader
It is a boot program used for GR551x software and hardware environment initialization, and to check and start applications.
- Bluetooth LE Stack
It is the implementation core of Bluetooth LE protocol stacks. It consists of Controller, HCI, and Host protocols (including ATT, L2CAP, GAP, SM, and GATT), and supports roles of Broadcaster, Observer, Peripheral, and Central.
- Bluetooth LE SDK
It refers to software development kit that provides easy-to-use SDK Bluetooth LE APIs and SDK System APIs.
- SDK Bluetooth LE APIs: Include L2CAP, GAP, SM, and GATT APIs.
- SDK System APIs: Provide API definitions for Non-volatile Data Storage (NVDS), Device Firmware Update (DFU), system power management, and generic system-level access interfaces.
- Application
The SDK provides abundant Bluetooth and peripheral example projects. Each project contains compiled binary files; users can download these files to GR551x SoCs for operation and test. GRToolbox (Android) in the SDK also provides corresponding functions as most Bluetooth applications do, to help users with tests.
- Drivers
API definitions and descriptions on peripheral drivers