# Build and run the application

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/)
- [Create csolution project](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/create/)
- [Initialize the Operating System](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/initialize/)
- [Create RTOS Threads](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/threads/)
- [Build and run the application](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/build_and_run/)
- [Next Steps](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsis_rtx_vs/_next-steps/)

You are now ready to build and run your application.

## Build

In the CMSIS Extension view, save all your files. Then, click the hammer icon to build the example.

## Debug

To start debugging, click the `Debug` icon, or enter the `Run and Debug` extension view.

Choose the debug connection you configured earlier to launch the FVP (Fixed Virtual Platform).

Use the debugging controls to step through your code.

Once the OS is initialized, you’ll see the output from the threads displayed in the `Debug Console`.

```
[model] hello from thread 1
[model] hello from thread 2
[model] hello from thread 3
[model] hello from thread 1
[model] hello from thread 2
...
```

To end the debug session, click `Stop` or press `Ctrl`+`F5`.

> Note: For a more feature-rich debugging environment, consider using the `Arm Keil μVision IDE`. For more details, see [Build an RTX5 RTOS application with Keil μVision](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsis_rtx/).
