1. Introduction

1.1. Before You Start

Before you start you need to:

  • Install the latest Smartsnippets Studio

  • Download the latest SDK for the DA1469x platforms

These can be downloaded from the DA1469x product page.

Additionally, for this tutorial a Pro Development kit is required.

The key goals of this tutorial are to:

  • Provide a basic understanding of Adapters concept

  • Explain the different APIs and configurations of SPI peripheral Adapters

  • Give a complete sample project demonstrating the usage of SPI peripheral Adapters

1.2. SPI Adapters Introduction

This tutorial explains SPI adapters and how to configure the DA1469x family of devices as an SPI Master device. Adopting an SPI Slave role is not used for the majority of situations and so, is not covered in this tutorial. The SPI adapter is an intermediate layer between the SPI Low Level Drivers (LLDs) and a user application. It allows the user to utilize the SPI interface in a simpler way than when using APIs from LLDs. The key features of SPI adapters are:

  • Synchronous read/write operations block the calling freeRTOS task while the operation is performed using semaphores rather than relying on a polling loop approach. This means that while the hardware is busy transferring data, the operating system (OS) scheduler may select another task for execution, utilizing processor time more efficiently. When the transfer has finished, the calling task is released and resumes its execution.

  • A DMA channel can be used among various peripherals (for example, I2C, UART). Interconnected peripherals may use the same DMA channel if necessary. The adapter takes care of DMA channel resource management.

  • It ensures that only one device can occupy the SPI controller after acquiring it.


Adapters are not implemented as separate tasks and should be considered as an additional layer between the application and the LLDs. It is recommended to use adapters for accessing a hardware block.