|
| 1 | +[](https://github.com/ARM-software/SDS-Framework/blob/main/LICENSE) |
| 2 | +[](./.github/workflows/pack.yml) |
| 3 | +[](./.github/workflows/gh-pages.yml) |
| 4 | +[](./.github/workflows/build_examples.yml) |
| 5 | + |
1 | 6 | # SDS Framework |
2 | 7 |
|
3 | 8 | The **Synchronous Data Stream (SDS) Framework** implements a data stream management, provides methods and helper tools for developing and optimizing embedded applications that integrate DSP and ML algorithms. This framework may be used stand-alone, but also in combination with [**CMSIS-Stream**](https://github.com/ARM-software/CMSIS-Stream) that allows to combine algorithms using a compute graph. |
4 | 9 |
|
5 | | -Refer to [Overview](./overview/README.md) for more details. |
6 | 10 |
|
7 | | -## Repository structure |
| 11 | +## Quick Start |
| 12 | + |
| 13 | +1. Install [Keil Studio for VS Code](https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack) from the VS Code marketplace. |
| 14 | +2. Clone this repository (for example using [Git in VS Code](https://code.visualstudio.com/docs/sourcecontrol/intro-to-git)) or download the ZIP file. Then open the base folder in VS Code. |
| 15 | +3. Open the [CMSIS View](https://mdk-packs.github.io/vscode-cmsis-solution-docs/userinterface.html#2-main-area-of-the-cmsis-view) in VS Code and use the ... menu to choose an example via *Select Active Solution from workspace*. |
| 16 | +4. The related tools and software packs are downloaded and installed. Review progress with *View - Output - CMSIS Solution*. |
| 17 | +5. In the CMSIS view, use the [Action buttons](https://github.com/ARM-software/vscode-cmsis-csolution?tab=readme-ov-file#action-buttons) to build, load and debug the example on the hardware. |
| 18 | + |
| 19 | + |
| 20 | +## Examples |
| 21 | + |
| 22 | +The [SDS template application](https://arm-software.github.io/SDS-Framework/main/template.html) demonstarte the recording and playback of real-world data streams using physical hardware or simulation via [Arm Virtual Hardware - FVP](https://github.com/ARM-software/AVH). Simulation enables cost-effective, automated regression testing on desktops or in cloud-based CI/MLOps pipelines. The real-world data streams are captured in [SDS data files](https://arm-software.github.io/SDS-Framework/main/theory.html#sds-data-files). |
| 23 | + |
| 24 | +Refer to [Overview](./overview/README.md) for more details. |
8 | 25 |
|
9 | | -Directory | Description |
10 | | -----------------------------------|------------------------------- |
11 | | -[overview](./overview) | Top-level overview of SDS Framework. |
12 | | -[documentation](./documentation/) | [User documentation](https://arm-software.github.io/SDS-Framework/main/index.html) of the SDS Framework. |
13 | | -[template](./template) | [SDS template application](https://arm-software.github.io/SDS-Framework/main/template.html), a test framework for DSP and ML algorithms. |
14 | | -[layer/sdsio](./layer/sdsio) | Configured [SDSIO layers](https://arm-software.github.io/SDS-Framework/main/sdsio.html) for file I/O via Network, USB, or File System. |
15 | | -[utilities](./utilities) | Python scripts for processing of SDS binary data files. |
16 | | -[schema](./schema) | Schema for [SDS YAML metadata format](https://arm-software.github.io/SDS-Framework/main/theory.html#yaml-metadata-format) that describes the content of SDS files. |
17 | | -[sds](./sds) | SDS-Framework source files and implementation of various SDSIO interfaces. |
18 | | -[.github/workflows](./.github/workflows) | GitHub Actions for validation and publishing. |
19 | | -[.ci](./.ci) | Files that relate to CI tests. |
20 | 26 |
|
21 | 27 | ## Related |
22 | 28 |
|
23 | | -- [SDS Pack](https://www.keil.arm.com/packs/sds-arm) available on [keil.arm.com/packs](https://www.keil.arm.com/packs). |
24 | | -- [SDS Examples](https://github.com/Arm-Examples/sds-examples) a repository with SDS template applications that are configured for evaluation boards and use cases. |
| 29 | +- The [SDS Pack](https://www.keil.arm.com/packs/sds-arm) is available on [keil.arm.com/packs](https://www.keil.arm.com/packs). |
| 30 | +- The [SDS Examples](https://github.com/Arm-Examples/sds-examples) is a repository with SDS examples configured for various Evaluation Boards and use the [MDK-Middleware](https://www.keil.arm.com/packs/mdk-middleware-keil/overview/) for the[SDSIO Interface](https://arm-software.github.io/SDS-Framework/main/sdsio.html). |
25 | 31 | - [ML Developers Guide for Cortex-M Processors and Ethos-U NPU](https://developer.arm.com/documentation/109267). |
26 | 32 | - [Arm Virtual Hardware - FVP](https://github.com/arm-software/avh) repository with documentation. |
27 | 33 |
|
| 34 | + |
| 35 | +## Files and Directories |
| 36 | + |
| 37 | +This is a list of the relevant files and directories. |
| 38 | + |
| 39 | +| Directory | Description | |
| 40 | +|--- |--- | |
| 41 | +| [overview](./overview) | Top-level overview of SDS Framework. | |
| 42 | +| [documentation](./documentation/) | [User documentation](https://arm-software.github.io/SDS-Framework/main/index.html) of the SDS Framework. | |
| 43 | +| [template](./template) | [SDS template application](https://arm-software.github.io/SDS-Framework/main/template.html), a test framework for DSP and ML algorithms. | |
| 44 | +| [layer/sdsio](./layer/sdsio) | Configured [SDSIO layers](https://arm-software.github.io/SDS-Framework/main/sdsio.html) for file I/O via Network, USB, or File System. | |
| 45 | +| [utilities](./utilities) | Python scripts for processing of SDS binary data files. | |
| 46 | +| [schema](./schema) | Schema for [SDS YAML metadata format](https://arm-software.github.io/SDS-Framework/main/theory.html#yaml-metadata-format) that describes the content of SDS files. | |
| 47 | +| [sds](./sds) | SDS-Framework source files and implementation of various SDSIO interfaces. | |
| 48 | +| [.github/workflows](./.github/workflows) | GitHub Actions for validation and publishing. | |
| 49 | +| [.ci](./.ci) | Files that relate to CI tests. | |
| 50 | + |
| 51 | + |
| 52 | +## Continuous Integration (CI) |
| 53 | + |
| 54 | +The underlying build system of [Keil Studio](https://www.keil.arm.com/) uses the [CMSIS-Toolbox](https://open-cmsis-pack.github.io/cmsis-toolbox/) and CMake. [CI](https://en.wikipedia.org/wiki/Continuous_integration) is effectively supported with: |
| 55 | +- Tool installation based on a single [`vcpkg-configuration.json`](./vcpkg-configuration.json) file for desktop and CI environments. |
| 56 | +- CMSIS solution files (`*.csolution.yml`) that enable seamless builds in CI, for example using GitHub actions. |
| 57 | + |
| 58 | +| CI Workflow | Description | |
| 59 | +|--- |--- | |
| 60 | +| [pack](./.github/workflows/pack.yml) | Builds the pack on a GitHub hosted runner. | |
| 61 | +| [gh-pages](./.github/workflows/gh-pages.yml) | Deploying this content to GitHub Pages. | |
| 62 | +| [build_examples](./.github/workflows/build_examples.yml) | Builds the application binaries by using the Arm Compiler for Embedded (AC6) on a GitHub hosted runner. | |
| 63 | + |
| 64 | + |
28 | 65 | ## License |
29 | 66 |
|
30 | 67 | The SDS Framework is licensed under [](https://github.com/ARM-software/sds-framework/blob/main/LICENSE). |
31 | 68 |
|
| 69 | + |
32 | 70 | ## Documentation |
33 | 71 |
|
34 | | -The [documentation](https://arm-software.github.io/SDS-Framework/main/index.html) is generated using [Doxygen](https://www.doxygen.nl/) and [MKDocs](https://www.mkdocs.org/) with the following additional plugins: |
| 72 | +The [documentation](https://arm-software.github.io/SDS-Framework/main/index.html) is generated by using [Doxygen](https://www.doxygen.nl/) and [MKDocs](https://www.mkdocs.org/) with the following additional plugins: |
35 | 73 |
|
36 | 74 | - [mermaid2](https://mkdocs-mermaid2.readthedocs.io/en/latest/) for sequence diagrams. |
37 | 75 | - [mkdoxy](https://pypi.org/project/mkdoxy) for API documentation. |
38 | 76 |
|
39 | 77 | Use `mkdocs serve` to generate the documentation on a local computer. |
40 | 78 |
|
| 79 | + |
41 | 80 | ## Contributions and Pull Requests |
42 | 81 |
|
43 | 82 | Contributions are accepted under [](https://github.com/ARM-software/CMSIS_6/blob/main/LICENSE). Only submit contributions where you have authored all of the code. |
|
0 commit comments