2. Architecture

2.1. The DA1470x Software Platform Overview

SmartSnippets™ is Dialog’s Software Development Platform provided with the Smartbond™ DA1470x devices family. It can be considered as a complete platform, targeted at single-CPU Bluetooth low energy applications development.

The SmartSnippets™ Studio software development platform provides a complete BLE Application development environment to enable the full potential of the DA1470x architecture. It is based on a GNU Compiler Collection (GCC)/ Debugger (GDB) toolchain, a preconfigured Eclipse CDT IDE and a set of utilities.

The SDK provides a Bluetooth stack, a Board Support Package and Middleware Services which all run within an RTOS environment which ensures that all real-time requirements are met.

DA1470x also provides a System Management service that optimizes Power Consumption by automatically putting the system in the lowest sleep mode whenever it is inactive. The application can alter the default behavior by defining which sleep mode to use when there is no activity or even specify that the system stays awake.


Figure 2 SmartSnippets™ Bluetooth low energy development platform overview

The SmartSnippets™ DA1470x SDK is split in into 3 layers:

  1. The Board Support Package (BSP) layer which includes:

  • Core: The basic components needed for starting up and interfacing with the SoC (startup code, register file, etc)

  • Drivers: The Low Level Drivers (LLDs) for SoC’s hardware blocks (Peripherals, Memory, etc)

  1. The Middleware layer which includes:

  • RTOS:

    • An abstraction layer for accessing OS facilities like timers, queues, semaphores (OSAL - Operating System Abstraction Layer)

    • FreeRTOS port

  • System services: A framework of services for:

    • Managing system configuration (clock management, power management, etc)

    • Supporting system sleep

    • Charging

  • Interfaces: Libraries exposing high-level API’s for controlling complex interfaces (USB, crypto, BLE services, etc)

  • BLE host: The implementation of the BLE host layer

  • Adapters: An adaptation layer (“Adapters”) for peripheral resources (spi, i2c, uart, etc) for:

    • Sharing peripherals between multiple tasks and / or multiple devices (using atomic transactions)

    • Saving/restoring peripherals configuration when system is entering/exiting sleep

  1. Application Projects: A set of example Target and (auxiliary) Host applications