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.
2.2. config
This directory (Figure 2) contains the DA14531 and DA14585/586 configuration file for the SmartSnippets™ toolbox.
2.3. doc
This directory (Figure 3) contains the SDK license files.
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
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.
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.
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.
2.7. utilities
This directory holds utilities and tools that supplement the SDK.
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.