This repository contains Synchronous Data Streaming (SDS) example projects for STMicroelectronics STM32N6.
- Install Keil Studio and Arm SDS from the VS Code marketplace.
- Clone this Git repository into a VS Code workspace.
- Open the CMSIS View
in VS Code and use the ... menu to choose an example via Select Active Solution from workspace.
- First choose the FSBL_LRUN example to build and flash the FSBL for STM32N6570-DK board (see STM32N6570-DK Board Setup).
- Then choose an SDS example.
- The related tools and software packs are downloaded and installed. Review progress with View - Output - CMSIS Solution.
- In the CMSIS view, use the Action buttons to build, load and debug the example on target hardware.
- Follow the instructions in the example README and use the SDS view to show, record, and playback data streams.
The SDS examples are configured for STMicroelectronics STM32N6570-DK board and use the MDK-Middleware for the SDSIO Interface. The examples are configured for Keil Studio for VS Code.
| Example | Description |
|---|---|
| KeywordSpotting | SDS connection via USB to STMicroelectronics STM32N6570-DK board. Implements keyword spotting algorithm with audio interface. |
The repository uses GitHub Actions to test project build with AC6 and execute algorithm tests. Refer to Understanding GitHub Actions and Arm FVPs documentation for more information.
CI Workflow |
Description |
|---|---|
| Build_AC6 | Use Arm Compiler for Embedded (AC6) to create binaries for different configuration of targets, build types, and boards. |
| Test_ST_KeywordSpotting | Build the binary for a keyword spotting algorithm and execute a regression test using an FVP model. Compare the original SDS recording with the newly generated recording produced during the simulator run. Store the build outputs and SDS recordings as workflow artifacts. |
Applications require a FSBL (First Stage Boot Loader) programmed and running on the STM32N6570-DK board. The FSBL is built and flashed to the board using the FSBL_LRUN example. This needs to be done only once, before flashing any other example.
Required ST tool:
- STM32CubeProgrammer 2.21.0
- STM32_SigningTool_CLI: Verify the environment variable
STM32_PRG_PATHpoints to the folder that containsSTM32_SigningTool_CLI.exe
- STM32_SigningTool_CLI: Verify the environment variable
Open FSBL_LRUN Example in VS Code:
- Select ExtMemLoader Target Set and click Build action button to generate the flash algorithm for STM32N6570-DK board.
- Select FSBL_Appli Target Set:
- Click Build action button to generate the FSBL binary.
- Flash the FSBL binary to the STM32N6570-DK board:
- Set the boot mode configuration in development mode (BOOT1 switch position to 1-3) and reset board after each power on cycle.
- Click Views and More Actions and click Load application to target to flash the FSBL binary to the STM32N6570-DK board.
- Set the boot mode configuration in flash mode (BOOT1 switch position to 1-2) and reset board.
- Configured
LD1_green(GPIO PO.01) LED should blink (in Appli/Src/main.c).
- Arm Examples - Edge AI and Machine Learning contains several other examples that use SDS.
- SDS Framework - Documentation.
- Report issues for this example on the SDS-Framework project page.