2. SDK Contents

This section describes the SDK directory structure, gives explanation about folders and their content, and what the main new/removed folders are compared to the previous SDK.

2.1. binaries

This directory (Figure 1) holds the executable binaries of the PC applications stored in the host directory, as well as the binary file of the production test tool firmware. These binaries are provided so that the developer can run/test the applications without the need to compile the projects.

../_images/binaries.svg

Figure 1 The Binaries Folder Structure

2.2. config

This directory (Figure 2) contains the DA14531 and DA14585/586 configuration file for the SmartSnippets™ toolbox.

../_images/config.svg

Figure 2 The config Folder Structure

2.3. doc

This directory (Figure 3) contains the SDK license files.

../_images/doc.svg

Figure 3 The doc Folder Structure

2.4. projects

This directory (Figure 4) contains the various SDK example projects. The projects directory is divided into two main directories:

  • host_apps

  • target_apps

../_images/project.svg

Figure 4 The Project Folder Structure

2.4.1. host_apps

This directory holds example applications that run on an external processor (PC or other CPU). And holds the proximity, SPOTA and SUOTA initiator applications that run on PCs and the application example for the proximity reporter over the proprietary SPI interface.

2.4.2. target_apps

This directory holds example applications that run on the DA14531 and DA14585/586 SoC. Each project directory contains Keil project files, along with the specific project’s source code and configuration files.

The ble_examples directory has DA14531 and DA14585/586 SoC BLE application examples for “Integrated processor” or “External processor” configuration. The BLE application examples demonstrate the BLE functionality of the DA14585/586 SoC. Figure 4 shows the available BLE examples.

The peripheral_examples directory has DA14531 and DA14585/586 SoC peripheral examples. The examples demonstrate some of the non-BLE functionality of the DA14531 and DA14585/586 SoC. Figure 4 shows the peripheral examples.

2.5. sdk

This directory holds the core files of the SDK. The directory structure of the core SDK modules is shown in Figure 5.

../_images/sdk.svg

Figure 5 The SDK Folder Structure

2.5.1. app_modules

This directory (Figure 5) holds the application source and header files.

  • api has the application header files

  • src has applications project-specific code for some BLE profiles and functions to handle BLE operations, like advertising, connection, security/encryption, et cetera

2.5.2. ble_stack

This directory contains BLE stack related files.

2.5.3. common_project_files

This directory contains three folders with configuration header files.

../_images/common.svg

Figure 6 The common_project_file Folder Structure

2.5.4. platform

This directory has platform-specific files for the Arm Cortex M0/M0+ processor and its supported peripherals (BLE, serial interfaces, GPIOs, etc.).

  • arch contains the system files and the main() application function

  • core_modules contains core system modules, like the kernel that implements the message handling, the GTL implementation, the non-volatile data storage manipulation, RF drivers, et cetera

  • driver contains all the supported drivers for the ARM Cortex-M0/M0+ peripherals

  • include has header files of the core source files

  • system_library has the object files of the patched ROM functions and the code for the RF calibration. For more information on the patched functions, see the Release Notes of the SDK distribution

2.6. third_party

This directory holds any third-party source files that are used within the SDK.

../_images/third.svg

Figure 7 The third_party Folder Structure

2.7. utilities

This directory holds utilities and tools that supplement the SDK.

../_images/utilities.svg

Figure 8 The utilities Folder Structure

2.7.1. flash_programmer

Flash programmer (flash_programmer) is a target-side application used to upload and read back the application code that runs on platforms powered by the DA14531 and DA14585/586 series integrated circuit. After the flash programmer application is booted, the platform communicates over UART or the JTAG interface with the host application and allows to read or write application code to the FLASH, EEPROM or OTP memory. Both sides exchange messages containing operation codes, statuses and payload with respect to the defined protocol.

2.7.2. mkimage

The mkimage tool is a command line Windows application to format non-volatile memory according to the memory map specified by the dual image bootloader.

2.7.3. prod_test

This folder contains the production test utility.

2.7.4. secondary_bootloader

This folder contains the secondary bootloader utility.