2. Architecture
2.1. The DA1459x Software Platform Overview
SmartSnippets™ is Renesas’ Software Development Platform provided with the Smartbond™ DA1459x devices family. It can be considered as a complete platform, targeted at developing Bluetooth low energy applications.
The e² studio provides a complete BLE Application development environment to enable the full potential of the DA1459x 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.
DA1459x 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 3 SmartSnippets™ Bluetooth low energy development platform overview
The SmartSnippets™ DA1459x SDK is split into 3 layers:
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)
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
Interfaces: Libraries exposing high-level API’s for controlling complex interfaces (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
Application Projects: A set of example Target and (auxiliary) Host applications