Skip to content

Commit 8716659

Browse files
opbld17gcampbell-msftcolin-home19BMG00v-alje
authored
Repo sync for protected CLA branch (#4061)
* add initial doc stubs * Initial docs push, contains stubs for some files and a stub for a landing page * update some links * add more cards and links to the Hub page * fix error * remove monikor's so it's easy to test, fix rtos-view.md path * fix link * add more to the sidebar * update peripheral view by consolidating to the table, change things to objects in rtos-view * add tabs * forgot to end tabbed section * fix items after adding tabs * update h1 * slightly fix some wording * add link from C++ and C workloads, features, and libraries to embedded hub * move into own directory so that the url is better * fix some warnings * remove next steps that pointed to linux items * prefer tabbed view vs table * attempt to add moniker * attempt highest moniker in range * assign to a specific version * push again to get new build * add '=' sign to try and test it * add metadata for msvc-170 * add moniker range for index.yml * remove inline moniker since we only need it on the files themselves * Follow up 4221 Acrolinx score for TN035 * Fix heading style * Update C++-specific template info * Fix links to raw and rendered markdown * Edit pass for house style * add 'while debugging' for peripheral-view * Fix table issue, stray punctuation Co-authored-by: Garrett Campbell <[email protected]> Co-authored-by: Colin Robertson <[email protected]> Co-authored-by: Bryan Gold <[email protected]> Co-authored-by: Alma Jenks <[email protected]>
1 parent d574947 commit 8716659

18 files changed

+270
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
title: "Install the Embedded tooling in Visual Studio and Visual Studio Code"
3+
description: "How to download and install the Embedded tooling in Visual Studio and Visual Studio Code."
4+
ms.date: "07/12/2022"
5+
ms.custom: intro-installation
6+
author: gcampbell-msft
7+
ms.author: gcampbell
8+
monikerRange: '>=msvc-170'
9+
---
10+
11+
# Download and install the Embedded tooling
12+
13+
# [Visual Studio](#tab/visual-studio)
14+
15+
In Visual Studio 2022 and later versions, you can use the Visual Studio IDE on Windows to edit and debug embedded projects. Use tools such as the [Peripheral Viewer](./peripheral-view.md), [RTOS Viewer](./rtos-view.md), and the [Serial Monitor](./serial-monitor.md) to help interact with and debug your embedded projects.
16+
17+
To use the embedded development tools in Visual Studio, you must install the required **Linux and embedded development with C++** workload.
18+
19+
## To install the Linux and embedded development with C++ workload
20+
21+
1. Enter "Visual Studio Installer" in the Windows search box:
22+
23+
![Screenshot showing the Windows search box.](../linux/media/visual-studio-installer-search.png)
24+
25+
1. Open the Visual Studio Installer. In Visual Studio Installer, choose **Modify** next to your installation of Visual Studio, and then select the **Workloads** tab. Scroll down to **Other toolsets** and select the **Linux and embedded development with C++** workload.
26+
27+
![Screenshot showing the Visual C++ for Linux Development workload item in Visual Studio Installer.](media/linux-and-embedded-workload.png)
28+
29+
1. Choose **Modify** to continue with the installation.
30+
31+
When installation completes, you're ready to use Visual Studio for embedded development.
32+
33+
# [Visual Studio Code](#tab/visual-studio-code)
34+
35+
## Install the Embedded extensions in Visual Studio Code
36+
37+
Microsoft provides an extension to Visual Studio Code that lets you use embedded tools such as a [Peripheral Viewer](./peripheral-view.md), [RTOS Viewer](./rtos-view.md), and a [Serial Monitor](./serial-monitor.md). Now you can use Microsoft tools to help debug your Linux-based embedded applications.
38+
39+
## To install the embedded extensions for Visual Studio Code
40+
41+
1. Enter "Visual Studio Code" in the Windows search box:
42+
43+
![Search-Visual-Studio-Code](media/windows-search-vscode.png)
44+
45+
1. Open Visual Studio Code. In Visual Studio Code, open the **Extensions Pane**.
46+
47+
![Visual Studio Code Extensions Pane](media/extensions-pane.png)
48+
49+
1. Search for and install the [Embedded Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-embedded-tools) extension.
50+
51+
![Embedded Tools extension](media/embedded-tools-extension.png)
52+
53+
1. Search for and install the [Serial Monitor](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-serial-monitor) extension.
54+
55+
![Serial Monitor extension](media/serial-monitor-extension.png)
56+
57+
When installation completes, you're ready to use Visual Studio Code for embedded development.
58+
59+
---

docs/embedded/index.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
### YamlMime:Landing
2+
title: Embedded development with C++ | Create and debug embedded applications # < 60 chars
3+
summary: Use Embedded tooling in Visual Studio 2022 and later to create and debug applications for Embedded. # < 160 chars
4+
5+
metadata:
6+
title: Embedded development with C++
7+
description: Learn how to use Embedded tooling in Visual Studio and Visual Studio Code to create and debug applications for Linux.
8+
ms.topic: landing-page
9+
author: gcampbell-msft
10+
ms.author: gcampbell
11+
ms.date: 07/12/2022
12+
ms.custom: intro-landing-hub
13+
monikerRange: '>=msvc-170'
14+
15+
# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new
16+
17+
landingContent:
18+
# Cards and links should be based on top customer tasks or top subjects
19+
# Start card title with a verb
20+
21+
# Card
22+
- title: Build and debug embedded projects in Visual Studio and Visual Studio Code
23+
linkLists:
24+
- linkListType: get-started
25+
links:
26+
- text: Download the Embedded workload in Visual Studio and Visual Studio Code
27+
url: download-and-install-the-embedded-tooling.md
28+
- linkListType: how-to-guide
29+
links:
30+
- text: Getting started guides
31+
url: https://github.com/azure-rtos/getting-started
32+
- linkListType: tutorial
33+
links:
34+
- text: Embedded Software Development in Visual Studio
35+
url: https://devblogs.microsoft.com/cppblog/visual-studio-embedded-development/
36+
- text: Embedded Software Development in Visual Studio Code
37+
url: https://devblogs.microsoft.com/cppblog/vscode-embedded-development/
38+
- linkListType: whats-new
39+
links:
40+
- text: Zephyr support in Visual Studio and Visual Studio Code
41+
url: https://devblogs.microsoft.com/cppblog/serial-and-zephyr-support/
42+
43+
- title: Embedded Tooling in Visual Studio and Visual Studio Code
44+
linkLists:
45+
- linkListType: reference
46+
links:
47+
- text: Peripheral Viewer
48+
url: ./peripheral-view.md
49+
- text: RTOS Viewer
50+
url: ./rtos-view.md
51+
- text: Serial Monitor
52+
url: ./serial-monitor.md
53+
54+
- title: More embedded tools
55+
linkLists:
56+
- linkListType: whats-new
57+
links:
58+
- text: Bootstrap your development environment
59+
url: https://devblogs.microsoft.com/cppblog/vcpkg-artifacts/
Loading
30.9 KB
Loading
Loading
27.1 KB
Loading
30.7 KB
Loading
52.7 KB
Loading

docs/embedded/media/rtos-threads.png

36.5 KB
Loading
Loading
29.6 KB
Loading
21.4 KB
Loading
4.71 KB
Loading

docs/embedded/peripheral-view.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: "Peripheral View"
3+
ms.date: "07/12/2022"
4+
description: "Peripheral View that allows users to view and manipulate peripherals."
5+
author: gcampbell-msft
6+
ms.author: gcampbell
7+
monikerRange: '>=msvc-170'
8+
---
9+
# Peripheral View
10+
11+
## Overview
12+
13+
The Peripheral View allows embedded developers to view and manipulate registers and peripherals defined in SVD (System View Description) files while debugging.
14+
15+
# [Visual Studio](#tab/visual-studio)
16+
17+
![Peripheral View in VS](media/peripheral-viewer.png)
18+
19+
# [Visual Studio Code](#tab/visual-studio-code)
20+
21+
![Peripheral View in Visual Studio Code](media/peripheral-viewer-vscode.png)
22+
23+
---
24+
25+
## Capabilities
26+
27+
| Capability | Description | Instructions | Keyboard shortcuts |
28+
|--|--|--|--|
29+
| Navigate peripherals | Navigate the peripheral tree view by collapsing and expanding components in the tree view. | Scroll to view all of the peripherals. Select the caret on each item to expand or collapse the view. | Use the **Up** or **Down** arrow keys to scroll. Use the **Left** and **Right** arrow keys to expand or collapse the view. |
30+
| Edit peripheral values | Modify writeable peripheral values. | Select the peripheral value to edit. Use the **Enter** key to submit that value. | Use the **F2** key to edit, **Esc** to cancel editing, and **Enter** to submit edits. |
31+
| Access memory | View the memory locations of peripherals. | Select the linked memory addresses to view. | Use **Tab** to select the link, and **Enter** to navigate to the link. |
32+
| Pin peripherals | Pin important peripherals to the top of the view. | Select the pin icon to pin or unpin peripherals. | Use **Tab** to select the pin icon, and **Enter** to pin or unpin it. |

docs/embedded/rtos-view.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: "RTOS Object Views"
3+
ms.date: "07/12/2022"
4+
description: "RTOS View that allows users to view RTOS data of their application."
5+
author: gcampbell-msft
6+
ms.author: gcampbell
7+
monikerRange: '>=msvc-170'
8+
---
9+
# RTOS (Real time operating system) Object View
10+
11+
## Overview
12+
13+
The RTOS Object View allows users to view various components of an RTOS while debugging their application.
14+
15+
# [Visual Studio](#tab/visual-studio)
16+
17+
![RTOS View in VS](media/rtos-threads.png)
18+
19+
# [Visual Studio Code](#tab/visual-studio-code)
20+
21+
![RTOS View in VSCode](media/rtos-threads-vscode.png)
22+
23+
---
24+
25+
## Supported RTOSes and their supported object types
26+
27+
- ThreadX
28+
- All of the types listed in **Available object types**
29+
- FreeRTOS
30+
- Threads
31+
- Queues
32+
- Zephyr
33+
- All of the types listed in **Available object types**
34+
35+
### Available object types
36+
37+
- Block Pools
38+
- Byte Pools
39+
- Event Flag Groups
40+
- Mutexes
41+
- Queues
42+
- Semaphores
43+
- Threads
44+
- Timers
45+
46+
## Usage
47+
48+
Use the RTOS Object View to:
49+
50+
- Access memory locations of various objects.
51+
- Access thread variables or various objects in the Watch view.
52+
53+
Use the arrow keys to select objects within the view. Use the **Enter** key to navigate to the linked content.

docs/embedded/serial-monitor.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: "Serial Monitor"
3+
ms.date: "07/12/2022"
4+
description: "Serial Monitor allows users to configure, monitor, and communicate with serial ports."
5+
author: gcampbell-msft
6+
ms.author: gcampbell
7+
monikerRange: '>=msvc-170'
8+
---
9+
# Serial Monitor
10+
11+
## Overview
12+
13+
The Serial Monitor allows users to configure, monitor, and communicate with serial ports.
14+
15+
# [Visual Studio](#tab/visual-studio)
16+
17+
![Serial Monitor in VS](media/serial-monitor.png)
18+
19+
# [Visual Studio Code](#tab/visual-studio-code)
20+
21+
![Serial Monitor in VSCode](media/serial-monitor-vscode.png)
22+
23+
---
24+
25+
## Capabilities
26+
27+
- **Monitor a serial port**: Choose the **Start Monitoring** or **Stop Monitoring** button to control whether to monitor data coming from the port.
28+
- **Send data to a serial port**: Enter text into the text field at the bottom of the view. Use the **Enter** key or choose the **Send Message** button to send the data.
29+
- **Clear the Serial Monitor output**: Choose the **Clear Output** button to clear the incoming data text field.
30+
- **Configure Serial Monitor and port connection settings**: See the following table to learn about the settings that the Serial Monitor provides.
31+
32+
## Configurable settings
33+
34+
| Settings | Description | Usage | Available options |
35+
|--|--|--|--|
36+
| **Port** | Ports that are actively connected to a device | Use the **Port** dropdown | Serial port compatible devices connected to the machine |
37+
| **Baud Rate** | Frequency at which the monitor attempts to communicate with the connected device | Use the **Baud Rate** dropdown | 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 74880, 115200, 230000, 250000 |
38+
| **Line ending** | The line ending to use in messages sent to the connected device | Use the **Line Ending** dropdown | None, LF, CR, CRLF |
39+
| **Timestamp** | Adds timestamps to the output of data received from the connected port | Use the **timestamp** toggle button | On/Off |
40+
| **Auto-scroll** | Whether to auto-scroll new content that comes from the connected port | Use the **auto-scroll** toggle button | On/Off |

docs/embedded/toc.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
items:
2+
- name: Embedded development with Visual Studio and Visual Studio code
3+
href: ./index.yml
4+
- name: Download and install the Embedded Tools
5+
href: download-and-install-the-embedded-tooling.md
6+
- name: Getting started guides
7+
href: https://github.com/azure-rtos/getting-started
8+
- name: Build and debug embedded projects
9+
items:
10+
- name: Embedded Software Development in Visual Studio
11+
href: https://devblogs.microsoft.com/cppblog/visual-studio-embedded-development/
12+
- name: Embedded Software Development in Visual Studio Code
13+
href: https://devblogs.microsoft.com/cppblog/vscode-embedded-development/
14+
- name: Zephyr support
15+
href: https://devblogs.microsoft.com/cppblog/serial-and-zephyr-support/
16+
- name: Embedded Tooling
17+
items:
18+
- name: Peripheral Viewer
19+
href: ./peripheral-view.md
20+
- name: RTOS Viewer
21+
href: ./rtos-view.md
22+
- name: Serial Monitor
23+
href: ./serial-monitor.md
24+
- name: vcpkg artifacts
25+
href: https://devblogs.microsoft.com/cppblog/vcpkg-artifacts/

docs/index.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ additionalContent:
167167
url: ./windows/desktop-applications-visual-cpp.md
168168
- text: Linux development
169169
url: linux/index.yml
170+
- text: Embedded development
171+
url: embedded/index.yml
170172
- text: Mobile development
171173
url: cross-platform/index.yml
172174
- text: Game development

0 commit comments

Comments
 (0)