Structure Overview

This section describes the file structure of the Software Development Kit (SDK) package.

spark_sdk_vx.y.z/
├───app/
│   ├───example/
|   └───tool/
├───bsp/
│   ├───hardware/
|   │   └───evk/
|   └───interface/
├───core/
│   ├───audio/
│   ├───ranging/
│   └───wireless/
├───driver
│   └───spark/
├───lib/
│   ├───spark/
│   └───third-party/
├───script/
├───spark_sdk_binaries_vx.y.z/
├───toolchain/
├───EULA.txt
└───SPARK SDK Documentation.html

app/

Contains application examples and tools. Each example has a CMake build variant for the Visual Studio Code editor. A tool is provided to validate custom Board Support Packages (BSP) implementations.

bsp/

Contains the BSP of the Evaluation Kit (EVK) board (evk/). The provided BSP contains source code to initialize and use the STM32G473 peripherals such as the SPI, UART and timers as well as the on-board devices such as the SPARK transceiver and audio codec. Custom boards can be supported by adding their own BSP.

core/

Contains the SPARK Core libraries; the Wireless Core (wireless/), the Audio Core (audio/) and the Ranging Core (ranging/).

driver/

Contains drivers for other integrated circuits like the MAX98091 audio codec used by the EVK board. Those written by SPARK are located inside the spark/ sub-folder. If third-party drivers are to be used, they will be inside a third-party/ sub-folder.

lib/

Contains various libraries used by applications, core libraries or the BSP. Those written by SPARK are located inside the spark/ sub-folder and third-party ones are located inside the third-party/ sub-folder. Third-party libraries are covered by permissive open-source licenses.

script/

Contains the scripts and requirements list for bootstrapping or activating the SPARK SDK’s virtual environment.

spark_sdk_binaries_vx.y.z/

Contains a collection of pre-built binary files that directly work with the EVK development board, offering ready-to-use application examples.

toolchain/

Contains CMake script that sets compiler flags for different build types, specifically tailored to the STM32G4 family of microcontrollers used in the Evaluation Kit (EVK). These flags serve various purposes, such as enabling targeted optimizations, specifying the floating-point implementation, controlling code and data placement, and enabling appropriate warning messages during compilation.

EULA.txt

The End User License Agreement that covers the use of the SPARK SDK.

SPARK SDK Documentation.html

A shortcut to the SPARK SDK documentation website.