You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documentation/sdsio.md
+12-9Lines changed: 12 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# SDSIO Interface
2
2
3
-
The SDSIO components offer flexible SDS communication interfaces. You may choose between these interface components that are stored in the folders: `./sds/sdsio/client`, `./sds/sdsio/fs` or `./sds/sdsio/vsi`. You may use one of the following CMSIS software components for integration of the SDSIO interface into the target system:
3
+
The SDSIO components offer flexible SDS communication interfaces. You may choose between these interface components that are stored in the folders: `sds/sdsio/client`, `sds/sdsio/fs` or `sds/sdsio/vsi`. You may use one of the following CMSIS software components for integration of the SDSIO interface into the target system:
4
4
5
5
```yml
6
6
- component: SDS:IO:Socket # IoT Socket Interface (Ethernet or WiFi)
@@ -32,10 +32,12 @@ To access [SDS data files](theory.md#sds-data-files), configure the `*.sdsio.yml
The SDSIOServer prints the IP address on which it is listening. The target hardware must connect to this IP address. Configure the target by updating the `SDSIO_SOCKET_SERVER_IP` macro in `./layer/sdsio/network/RTE/SDS/sdsio_client_socket_config.h`.
72
+
The SDSIO-Server prints the IP address on which it is listening. The target hardware must connect to this IP address. Configure the target by updating the `SDSIO_SOCKET_SERVER_IP` macro in `layer/sdsio/network/RTE/SDS/sdsio_client_socket_config.h`.
70
73
71
74
## Layer: sdsio_rtt
72
75
@@ -79,7 +82,7 @@ The [`layer/sdsio/rtt/sdsio_rtt.clayer.yml`](https://github.com/ARM-software/SDS
79
82
The SDSIO layer communicates with the host computer via an RTT socket exposed by the
80
83
debug probe software. The [SDSIO-Server](https://arm-software.github.io/SDS-Framework/main/utilities.html#sdsio-server)
81
84
runs on the host and connects to the debug probe socket using
Copy file name to clipboardExpand all lines: documentation/template.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ With a custom SDSIO interface, alternative I/O configurations are possible.
23
23
24
24
## SDS Template Structure
25
25
26
-
The structure of the SDS template application is shown below. Two projects let you choose between a data communication test and a user algorithm test. Two target types let you deploy the test application either on hardware (evaluation board) or on an AVH FVP (simulation model).
26
+
The structure of the SDS template application is shown below. Two projects let you choose between a data communication test and a user algorithm test. Three target types are available, allowing the test application to be deployed either on hardware (an evaluation board) or on one of two AVH FVP simulation models.
27
27
28
28
A standard board layer, provided by several BSPs, implements the hardware interface. For communication, the SDSIO layer uses the MDK-Middleware or (for the AVH FVP target) a virtual simulation interface (VSI).
29
29
@@ -33,7 +33,9 @@ The `Debug` and `Release` build types differ only in the optimization level and
33
33
Both build types support recording and playback, controlled via `sdsFlags`. The `sdsFlags` value can be modified by the SDS application (using the function `sdsFlagsModify`) or by the SDSIO-Server, making it easy to switch between Record Mode and Playback Mode.
34
34
35
35
!!! Note
36
-
Implementations using a file system support only recording mode.
36
+
The template-based file system implementation natively supports recording mode only.
37
+
Playback mode can be enabled by adapting the provided template code.
38
+
For example, an additional button on the board can be used to toggle between recording and playback modes.
37
39
38
40
### Record Mode
39
41
@@ -95,7 +97,7 @@ In the [**Create a new solution**](https://mdk-packs.github.io/vscode-cmsis-solu
95
97
After the *csolution project* loads, VS Code displays a dialog where you can select a compatible software layer and an installed compiler toolchain.
96
98
97
99
!!! Note
98
-
- If no compatible software layer is available for SDS, use the `V2M-MPS3-SSE-300-FVP` board. Then adapt `sds.csolution.yml` and create a software layer for your target hardware as outlined in [Compile for Custom Hardware](#compile-for-custom-hardware). The [layer: sdsio_rtt](sdsio.md#layer-sdsio_rtt) has minimal requirements because it uses the debug adapter as the communication interface to the SDSIO-Server.
100
+
- If no compatible software layer is available for SDS, use the `V2M-MPS3-SSE-300-FVP` board. Then adapt `SDS.csolution.yml` and create a software layer for your target hardware as outlined in [Compile for Custom Hardware](#compile-for-custom-hardware). The [layer: sdsio_rtt](sdsio.md#layer-sdsio_rtt) has minimal requirements because it uses the debug adapter as the communication interface to the SDSIO-Server.
@@ -157,7 +159,7 @@ The **DataTest** project validates the communication channel.
157
159
Activate recording from the SDSIO-Server by pressing the `R` key. To stop recording, press the `S` key.
158
160
Alternatively, recording can be started or stopped by pressing the user button on the board.
159
161
160
-
This run should generate the files `Test_In.1.sds` and `Test_Out.1.sds` in the folder `datatest\SDS Recordings`. The `DataTest` project is configured to record 1000 data records at an interval of 10 ms.
162
+
This run should generate the files `Test_In.1.sds` and `Test_Out.1.sds` in the folder `datatest/SDS Recordings`. The `DataTest` project is configured to record 1000 data records at an interval of 10 ms.
161
163
162
164
To verify correctness of the recording using the SDS-Check utility, use the following commands:
163
165
@@ -175,7 +177,7 @@ When recording is started again, new files with different names are created: `Te
175
177
176
178
Activate the playback from the SDSIO-Server by pressing the `P` key.
177
179
178
-
This run should read the `Test_In.0.sds` file and generate the `Test_Out.0.p.sds` file in the folder `datatest\SDS Recordings`. The `Test_Out.0.sds` file generated during recording is identical to `Test_Out.0.p.sds`, which is generated in playback mode.
180
+
This run should read the `Test_In.0.sds` file and generate the `Test_Out.0.p.sds` file in the folder `datatest/SDS Recordings`. The `Test_Out.0.sds` file generated during recording is identical to `Test_Out.0.p.sds`, which is generated in playback mode.
179
181
180
182
To verify correctness of the recording using the SDS-Check utility, use the following command:
Copy file name to clipboardExpand all lines: documentation/theory.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,16 +74,18 @@ The actual files used when opening a stream depend on the presence of the [`*.sd
74
74
75
75
**Recording:**
76
76
77
-
`<label>` is a sequential number starting at 0 and incremented by 1. The first value for which no corresponding file exists is used to create a new file.
78
-
After recording completes, the process continues from the last `<label>` value.
77
+
`<label>` is a sequential integer starting at 0. The value is incremented until no file exists with the corresponding name, at which point a new file is created.
78
+
79
+
Each subsequent recording session uses the next `<label>` value in the sequence. If a file with the selected name already exists, it is preserved by renaming it with
80
+
a .bak extension before a new file is created with the original name.
79
81
80
82
**Playback:**
81
83
82
84
When a [`*.sdsio.yml` control file](utilities.md#sdsio-control-file-sdsioyml) is used and contains a [`play:`](utilities.md#play) node, the filename follows the pattern `<stream-name>.<label>.sds`, where `<label>` is specified in the corresponding
83
85
[`step:`](utilities.md#play).
84
86
85
-
When no `*.sdsio.yml` control file is used, the `<label>` is a sequential number starting at 0. If the corresponding file does not exist, the open operation fails.
86
-
After playback completes, the process repeats with the `<label>` incremented by one.
87
+
When `*.sdsio.yml` control file is not used, the `<label>` is a sequential number starting at 0. If the corresponding file does not exist, the open operation fails.
88
+
After playback session completes, the process repeats with the `<label>` incremented by one.
87
89
88
90
!!! Note
89
91
- Files recorded during playback include an additional `.p` before the `.sds` extension to
@@ -256,7 +258,7 @@ The size of the data stream buffer depends on several factors such as:
256
258
- the frequency of the algorithm execution. Fast execution speeds may require a larger buffer.
257
259
258
260
As a guideline, the buffer size should be at least **(2 × block size) + 2 KB**.
259
-
The minimum recommended buffer size is **0x1000 (4 KB)**.
0 commit comments