9. The DA1468x Software Platform Overview

SmartSnippets™ is Dialog’s Software Development Platform provided with the Smartbond™ DA1468x 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 Bluetooth low energy Application development environment to enable the full potential of the DA1468x 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.

../_images/image03_01.png

Figure 5 SmartSnippets™ Bluetooth low energy development platform overview

DA1468x also provides a System Management driver 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.

The SmartSnippetsTM DA1468x SDK contains three main software packages that allow developers to easily implement complex applications and fully exploit the hardware capabilities of a DA1468x board (or Development Kit):

  • Board Support Package: Platform-specific source files for Peripherals Drivers, OS, system configuration/management and memory management.
  • BLE Framework: a Framework of tasks and queues that allow access to the BLE interface through a simple, comprehensible API.
  • Middleware Services & Toolboxes: Features frequently needed services for BLE-based application like Monitor and Control Interface (MCIF) and Software Upgrade over the Air (SUOTA).

9.1. Board Support Package Overview

9.1.1. Low-level Drivers

Board Support Package (BSP) contains all Low-level Drivers (LLDs) for all peripherals, interfaces, timers and HW accelerators. These are Hardware Libraries providing the lowest level API to drive a HW resource. LLDs are not Thread safe and do not rely on any OS.

9.1.2. RTOS

The SmartSnippetsTM DA1468x SDK is based on a real-time preemptive Operating System named FreeRTOS (www.freertos.org). FreeRTOS is a light-weight open source OS, widely used by many embedded systems across different microcontroller architectures. Note that an OS Abstraction Layer (OSAL) is provided so another RTOS could be used instead.

Note

An OS Abstraction Layer (OSAL) is provided so another RTOS could be used instead.

9.1.3. System Manager

The System Manager is responsible for providing the following services:

  • A Clock and Power Management Service. It implements an automated configurable sleep/wake-up engine.
  • A Watchdog Service that monitors the system’s status by checking the state of all registered tasks.
  • A Real-Time Clock service that can be used from any execution context including Interrupt context.

9.1.4. Adapters

As the SmartSnippetsTM DA1468x SDK relies on a multi-tasking environment, resource sharing is critical and is achieved by following a multi-layered architecture which introduces the concept of adapters which manage the access to resources between different tasks.

An application task that accesses shared resources such as cryptographic engines must use adapters and must not directly call Low-level drivers. Adapters also handle power management operations related to the controlled resource, hiding power management details from the application, such as blocking system sleep when the controlled HW resource is busy, or restoring HW configuration upon system wake up.

9.1.5. The BLE Framework

The BLE framework provides an abstraction layer that simplifies application development by hiding low level details of the specification. It allows performing any of the standard Central and/or Peripheral operations including security.

9.2. Middleware Services

A set of Middleware Services allow faster development by providing a high level API for the user application into a management framework that handles the state machines and driver calls for a specific service.

9.2.1. SUOTA

The Bluetooth low energy platform allows the user to update the software of the device wirelessly. This process is called Software Upgrade Over The Air (SUOTA). For more information about SUOTA refer to chapter 9 of Software Developers Guide [Ref_03].

9.2.2. Security Toolbox

The Security Toolbox provides a collection of high-level cryptographic algorithms. It follows a layered software architecture approach that consists of the LLDs for the hardware cryptographic engines, the system services and adapters that provide higher level APIs for using the engines and the algorithm implementations. For more information refer to section 12.