Skip to content

Commit 3a8368d

Browse files
Merge pull request #3108 from madeline-underwood/cmsis
Update documentation for CMSIS RTX learning path: enhance description…
2 parents cf33d3f + 0e57acd commit 3a8368d

4 files changed

Lines changed: 18 additions & 17 deletions

File tree

content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Build an RTX5 RTOS application with Keil μVision
33

4+
description: Learn how to create, build, and debug an RTX5 RTOS-based application using Keil μVision with CMSIS-RTOS2 API and Event Recorder for embedded Cortex-M development.
45

56
minutes_to_complete: 30
67

content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/build_and_run.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ Click `Run` (`F5`) to start the application, and after a short time, click `Stop
2323

2424
Observe in the `RTX RTOS` view that the threads have been created. Two other threads, `osRtxIdleThread` and `osRtxTimerThread` will also be created.
2525

26-
![RTX RTOS #center](keil_rtos.png)
26+
![Screenshot of the RTX RTOS view in Keil μVision showing the list of created threads including thread_1, thread_2, osRtxIdleThread, and osRtxTimerThread with their status and priority information#center](keil_rtos.png "RTX RTOS threads view")
2727

28-
However no output is seen in the `printf viewer`. This is because semihosting is not supported. You will learn how to address this in the next section.
28+
However no output is seen in the `printf viewer`. This is because semihosting isn't supported. You'll learn how to address this in the next section.
2929

3030
Exit the debug session (`Ctrl+F5`).
3131

@@ -48,13 +48,13 @@ You must now create a `Debug Configuration`:
4848

4949
When debugging, use the `OS Data` view to observe RTOS information. Open from the `Window` > `Show View` menu. Use the pull down to select different categories.
5050

51-
![OS Data #center](os_data.png)
51+
![Screenshot of the OS Data view showing RTOS thread information including task names, states, and stack usage#center](os_data.png "OS Data view with thread details")
5252

5353
For thread aware debug, right-click on the debug connection in the `Debug Control` view, and select `Display threads`.
5454

55-
![Debug Control #center](debug_control.png)
55+
![Screenshot of the Debug Control view with the context menu showing the Display threads option for thread-aware debugging#center](debug_control.png "Debug Control view with thread display option")
5656

57-
You will see the printf() output in `Target Console` pane.
57+
You'll see the printf() output in `Target Console` pane.
5858
```
5959
hello from thread 1
6060
hello from thread 2

content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/create.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This learning path will introduce the steps to create a basic RTX based RTOS app
1111

1212
For more information on the latest update, see the [CMSIS v6 is here](https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/cmsis-v6-is-here) blog.
1313

14-
You will use [Keil MDK](/install-guides/mdk) through this Learning Path. If you are using [Arm Development Studio](/install-guides/armds) refer to the appropriate comments.
14+
You'll use [Keil MDK](/install-guides/mdk) through this Learning Path. If you're using [Arm Development Studio](/install-guides/armds) refer to the appropriate comments.
1515

1616
{{% notice Note%}}
1717
If using `Arm Keil Studio for Visual Studio Code` please go to [Build an RTX5 RTOS application with Keil Studio (VS Code)](/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/).
@@ -47,15 +47,15 @@ Then select `CMSIS C/C++ Project`, using `Arm Compiler for Embedded 6`.
4747

4848
### Select device
4949

50-
You will then be prompted to `Select Device` for your project. A list of all devices with their CMSIS-Packs installed will be shown.
50+
You'll then be prompted to `Select Device` for your project. A list of all devices with their CMSIS-Packs installed will be shown.
5151

5252
For this example, select `Arm` > `Arm Cortex-M4` > `ARMCM4`. Click `OK`.
5353

5454
## Manage Run-Time Environment
5555

56-
You will first be presented with the `Manage Run-Time Environment` dialog, which allows you to specify the CMSIS software components that will be used in the project.
56+
You'll first be presented with the `Manage Run-Time Environment` dialog, which allows you to specify the CMSIS software components that will be used in the project.
5757

58-
Under `CMSIS`, select `CORE`, as well as `RTOS2 (API)` > `Keil RTX5`, in `Source` form. You will also need to select `CMSIS` > `OS Tick (API)` > `SysTick`.
58+
Under `CMSIS`, select `CORE`, as well as `RTOS2 (API)` > `Keil RTX5`, in `Source` form. You'll also need to select `CMSIS` > `OS Tick (API)` > `SysTick`.
5959

6060
Under `Device`, select `Startup` (`C Startup`).
6161

content/learning-paths/embedded-and-microcontrollers/cmsis_rtx/eventrecorder.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ layout: "learningpathall"
99
---
1010
We saw in the last section that Keil MDK does not support semihosting.
1111

12-
[CMSIS-View](https://arm-software.github.io/CMSIS_6/latest/View/index.html) provides [Event Recorder](https://arm-software.github.io/CMSIS-View/latest/evr.html) which can be used instead for the printf functionality. It is supported for both FVPs and real hardware.
12+
[CMSIS-View](https://arm-software.github.io/CMSIS_6/latest/View/index.html) provides [Event Recorder](https://arm-software.github.io/CMSIS-View/latest/evr.html) which can be used instead for the printf functionality. It's supported for both FVPs and real hardware.
1313

1414
{{% notice Arm Development Studio%}}
1515
Event Recorder and Component Viewer are not supported. This section can be ignored.
@@ -19,7 +19,7 @@ Event Recorder and Component Viewer are not supported. This section can be ignor
1919

2020
Open the `Manage run-time environment` dialog, and enable `CMSIS-View` > `Event Recorder` (`DAP` variant).
2121

22-
Enable `CMSIS-Compiler` > `STDOUT (API)`, and set to `Event recorder`. You will also need to enable `CMSIS-Compiler` > `Core`.
22+
Enable `CMSIS-Compiler` > `STDOUT (API)`, and set to `Event recorder`. You'll also need to enable `CMSIS-Compiler` > `Core`.
2323

2424
Click `OK` to save.
2525

@@ -87,13 +87,13 @@ Note that the RTX source contains many Event Recorder annotations.
8787

8888
For ease of readability, click the `Filter` icon to hide these events. Ensure `STDIO` events are enabled.
8989

90-
![Event Viewer filter #center](ev_filter.png)
90+
![Screenshot of the Event Viewer filter dialog showing event categories with STDIO enabled and RTX events disabled for easier readability#center](ev_filter.png "Event Viewer filter settings")
9191

9292
Observe that printf output is in the form of the ASCII codes of the text output.
9393

94-
![Event Viewer #center](ev_raw.png)
94+
![Screenshot of the Event Viewer showing STDIO events with printf output displayed as ASCII codes#center](ev_raw.png "Event Viewer showing ASCII output")
9595

96-
For this view it is better to use [EventRecorder Data](https://www.keil.com/pack/doc/compiler/EventRecorder/html/group__EventRecorder__Data.html) rather than printf statements.
96+
For this view it's better to use [EventRecorder Data](https://www.keil.com/pack/doc/compiler/EventRecorder/html/group__EventRecorder__Data.html) rather than printf statements.
9797

9898

9999
## EventRecorder Data
@@ -125,7 +125,7 @@ Use the filter to hide `STDIO` events, which shall remove the printf strings. En
125125
126126
The thread number is output as the first `Value`:
127127
128-
![Event Viewer #center](ev_data.png)
128+
![Screenshot of the Event Viewer displaying EventRecorder Data with thread numbers shown in the Value column#center](ev_data.png "Event Viewer showing thread data values")
129129
130130
## Component Viewer
131131
@@ -156,8 +156,8 @@ Click `Debug` (`Ctrl+F5`), then `Run` (`F5`) to start the application.
156156

157157
This file has now defined event `0x0`, and this is reflected in the filter view:
158158

159-
![Event Viewer filter #center](ev_component.png)
159+
![Screenshot of the Event Viewer filter showing the custom EVR_Demo component with event 0x0 defined from the SCVD file#center](ev_component.png "Event Viewer filter with custom component")
160160

161161
These events are now processed into meaningful messages in the Event Recorder viewer:
162162

163-
![Event Viewer #center](ev_cv.png)
163+
![Screenshot of the Event Viewer displaying decoded messages from the Component Viewer showing goodbye from thread messages instead of raw data#center](ev_cv.png "Event Viewer with Component Viewer decoded messages")

0 commit comments

Comments
 (0)