Structure Overview
This section describes the file structure of the Software Development Kit (SDK) package.
spark_sdk_vx.y.z/
├───app/
│ ├───example/
│ └───tool/
├───backend/
│ ├───evk1_4_backend/
│ └───quasar_backend/
├───bsp/
│ ├───evk1_4/
│ └───quasar/
├───core/
│ ├───audio/
│ └───wireless/
│ ├───api/
│ ├───cfg/
│ ├───facade/
│ └───prebuilt/
├───driver/
│ └───spark_radio/
│ └───sr_phy/
│ └───prebuilt/
├───library/
├───middleware/
├───module/
├───script/
├───third-party/
├───toolchain/
├───EULA.txt
└───SPARK SDK Documentation.html
app/
Contains application examples and tools. A tool is provided to validate custom Board Support Packages (BSP) implementations.
backend/
Contains the backends for the Evaluation Kit (EVK) boards, namely EVK1.4 and Quasar.
bsp/
Contains the BSPs for the EVK boards. The provided BSP contains source code to initialize and use the 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/) and the Audio Core (audio/). In the SDK release package, the Wireless Core public API and configuration headers are provided together with prebuilt static libraries located in core/wireless/prebuilt/.
Note
Some internal Wireless Core and SPARK Radio PHY implementation sources are not part of the SDK release package. Applications should use the public Wireless Core API and the SDK CMake targets instead of depending on internal implementation files.
driver/
Contains drivers written by SPARK for integrated circuits used by the SDK. The SPARK Radio PHY implementation used by the Wireless Core is provided in the SDK release package as prebuilt static libraries located in driver/spark_radio/sr_phy/prebuilt/.
library/
Contains various libraries written by SPARK and used by applications, core libraries or the BSPs.
middleware/
Contains middleware that acts as intermediaries, offering common services and features.
module/
Contains modules that provide specific capabilities or services.
script/
Contains the scripts and requirements list for bootstrapping or activating the SPARK SDK’s virtual environment.
third-party/
Contains third-party libraries that are covered by permissive open-source licenses.
toolchain/
Contains CMake scripts that set compiler flags for different build types, specifically tailored to the STM32 family of microcontrollers used in the Evaluation Kit (EVK) boards. 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.