Search by Tags

Torizon Application Development With Visual Studio

 

Article updated at 20 Jul 2021

Introduction

Visual Studio is an IDE for Windows. Toradex provides the Visual Studio Extension for Torizon to make your development life easier.

Resources

Browse for Visual Studio on Torizon resources from the tabs below.

Requirements

Everything you need is a Computer on Module with Torizon installed and a Windows desktop PC for development. You must have the Windows Subsystem for Linux 2 (WSL2) and Docker Desktop installed and configured.

How to Start

Following our Step-by-step Quickstart Guide for fully supported modules is the easiest way to get you set up in no time.

Alternatively, you can follow the instructions below if you prefer a summarized version. This is only recommended if you have some knowledge of Torizon and Visual Studio.

Installation

Install Visual Studio 2019 and the following workloads:

  • Desktop development with C++
  • Linux development with C++

  • Install workload - Desktop development with C++

    Install workload - Desktop development with C++


  • Install workload - Linux development with C++

    Install workload - Linux development with C++

Install the Visual Studio Extension for Torizon:

The latest versions of the Toradex Torizon Support extension can be found on the Visual Studio marketplace, in two versions:

Close all running instances of Visual Studio. Choose one of Torizon extensions from the above, download and install it.

Tip: The extension is available for Visual Studio 2019 only!

Check that the installation was successful by opening the extension list under Extensions > Manage Extensions:


  • Torizon Extension for Visual Studio

    Torizon Extension for Visual Studio

Add a Target Device

In Visual Studio, go to View > Other Windows > Torizon devices and add a target device from either the network or the serial port:


  • Torizon Devices Window

    Torizon Devices Window

The board will reboot once you add it.

Download the Base SDK and Containers

Select Tools > Download/update base and sdk containers:


  • Download Base and SDK Containers

    Download Base and SDK Containers

Note: this operation may take some time, especially if you create a new C/C++ project. This is due to the download of the SDK.

Create an Application From a Template

Enable the Torizon toolbar on Visual Studio selecting Tools > Customize, scroll down the list, select "Torizon Toolbar" and hit Close:


  • Torizon Toolbar

    Torizon Toolbar

Create a New Project and select Torizon C/C++ Application from the Visual C++ category:


  • New Project Dialog

    New Project Dialog

Make sure to mark the checkbox Place solution and project in the same directory:


  • Configure Your New Project

    Configure Your New Project

Deploy and Debug

Either choose Debug > Deploy and debug Torizon or click on Deploy and Debug Torizon Application on the Torizon Toolbar:


  • Deploy and Debug

    Deploy and Debug

Additional Resources

Proceed to the Documentation tab on this page.

Visual Studio on Torizon Documentation

An overview of relevant articles is presented in this tab. You can scroll through contents or click on your topic of interest below:

We use icons to help you identify the content in an article:

Visual Studio Visual Studio Code Command Line Conceptual Starting Point Docker Concepts Torizon Samples on Github

First Steps

Article Brief Description
Quickstart Guide A step-by-step guide, with sections and lessons, for you to start with Toradex modules
TorizonCore Technical Overview A plentiful overview of TorizonCore and its features
Basic Linux Commands If you are new to Linux, learn some basic Linux commands to help you get started
Scan your local network to find the board IP and MAC address How to scan you local network and find your board's IP
SSH Access the Linux console (terminal) through the network and configure passwordless access
Configuring Serial Port Debug Console (Linux/U-Boot) Alternative to SSH, access the Linux console through the debug UART

Essentials

Article Brief Description
Toradex Download Links (Torizon, Linux BSP, WinCE and Partner Demos) Download TorizonCore tarballs for offline installation or customization with TorizonCore Builder
Deploying Container Images to TorizonCore Learn how to deploy your application on different phases of the development
Run and Manage Containers with Portainer and the Command-line on Torizon How to run and manage containers using Portainer, a container manager, and the command-line
How to Autorun an Application With TorizonCore Learn how to automatically start a container on the boot of Torizon
Torizon Best Practices Guide Learn the best practices to develop on Torizon, including data storage, hardware access and more
Toradex Embedded Linux Support Strategy Read more about the software versioning scheme adopted by Toradex, the Linux release types and also software alerts
Torizon Frequently Asked Questions (FAQ) Frequently Asked Questions (FAQ) about Torizon and TorizonCore

Application Development

Article Brief Description
Configure Build Environment for Torizon Containers Prepare your host machine to cross-build ARM containers
How to speed-up docker containers builds on Linux Learn tips and tricks to build containers fast
How to do C/C++ Development on Torizon Conceptual article with examples on how to develop your own app targeting Debian-based containers
Python development on TorizonCore Overview article about how to do Python development on TorizonCore
Using Multiple Containers with TorizonCore How to orchestrate multiple containers and manage the inter-communication process

Application Development With Visual Studio

Article Brief Description
Torizon Application Development With Visual Studio A cover page with info on how to quickly setup Visual Studio and a list with related documents
Visual Studio Extension for Torizon Learn how to develop, deploy and debug your application using VS Code on Torizon
C/C++ Development and Debugging on Torizon Using Visual Studio Developer workflow for creating Torizon based apps using the Visual Studio Extension for Torizon
Torizon IDE Backend Architecture and Internals Moses is the open-source Torizon IDE backend. You can add support to your preferred IDE, script the release of software, and more
Torizon IDE Backend Command-line Interface Learn how to use IDE backend CLI into production and CI/CD tools to build, test, and release it.
Troubleshooting guide for the IDE extensions Read about common issues regarding the IDE extension and how to solve them.

Toradex Containers

Article Brief Description
List of Container Images for Torizon A brief overview with a list of containers and links to additional resources
Debian Containers for Torizon Toradex provides several base containers as a friendly starting environment
TorizonCore Containers Tags and Versioning Learn more about the tags and environment variables from TorizonCore containers
Modifying TorizonCore Debian Based Container Images How to install packages and modify a base container for custom application startup
Web Browser on Toradex Computer on Modules An overview about Web Browser support on Toradex Computer on Modules
Kiosk Mode Browser with TorizonCore How to use the Kiosk Mode Browser to display web-based Graphical User Interfaces (GUI)
Qt Qt Debian Container for Torizon Example how to bring up a Qt container for Torizon
Remote Access the TorizonCore GUI Using VNC or RDP How to enable a VNC or an RDP backend in a Weston Debian Container for Torizon

Partner Demo Containers

Partner Demo Containers are ready-to-use demonstrations fully integrated into containers.

Partner Demo Container Brief Description
Codesys Codesys Codesys PLC Runtime CODESYS programmable logic controller (PLC) demo runtime on a Torizon container and how to use it
Crank Crank Software Crank Storyboard Crank Storyboard allows you to build embedded systems optimized, rich GUI on a cross-platform IDE
BE.services Matrikon OPC UA Server BE.services
Matrikon
BE.services Matrikon OPC UA Server Matrikon OPC UA Server implementation by BE.services GmbH
TotalCross TotalCross TotalCross SDK TotalCross is an easy-to-use Open Source SDK aiming the fast designing of beautiful Graphical User Interfaces (GUIs) for multiple platforms

Third-party Containers

Container Article Brief Description
Node-RED Node-RED How to get started with Node-RED on Torizon
InfluxDB Using Multiple Containers with TorizonCore How to run multiple containers using InfluxDB and Grafana as examples
Grafana Using Multiple Containers with TorizonCore How to run multiple containers using InfluxDB and Grafana as examples

Displays

Article Brief Description
First Steps with Capacitive Touch Display 7" Parallel How to start working with the Capacitive Touch Display 7 Inch Parallel
First Steps with Resistive Touch Display 7" Parallel How to start working on the Parallel Resistive Touch Display 7 Inch Parallel
First Steps with Capacitive Touch Display 10.1 Inch LVDS How to start working with the Capacitive Touch Display 10.1 Inch LVDS
Setting up Displays with Torizon How to set up displays with Torizon
Working With Weston on TorizonCore How to customize Weston container to add some features on the graphical interface

Graphical User Interface (GUI)

Article Brief Description
Qt Getting Started with Qt Overview article including the pros and cons of using Torizon as the platform for Qt apps
Qt How to build a GUI with Qt for Python and TorizonCore How to use Qt for Python in TorizonCore, relying on the Qt Debian Container for Torizon
Blazor How to Build a GUI with ASP.NET Core and Blazor for TorizonCore Create a GUI with Blazor and display it using a Web Browser in Kiosk Mode
Crank Crank Storyboard Crank Storyboard allows you to build embedded systems optimized, rich GUI on a cross-platform IDE
TotalCross TotalCross TotalCross is an easy-to-use Open Source SDK aiming the fast designing of beautiful Graphical User Interfaces (GUIs) for multiple platforms
Remote Access the TorizonCore GUI Using VNC or RDP How to enable a VNC or an RDP backend in a Weston Debian Container for Torizon

Hardware Access

Article Brief Description
GPIO (Linux) Base GPIO article applicable to both the BSP and TorizonCore
How to Use GPIO on TorizonCore How to access GPIO using libgpiod, the new Linux kernel API for GPIO
How to Use GPIO with Torizon Visual Studio Extension How to manipulate GPIO using Torizon C/C++ Application development Visual Studio Plugin
How to Use UART on TorizonCore How to add a UART device to be accessed in a containerized application in TorizonCore
How to Use UART with Torizon VS Code Extension (Python) How to manipulate UART using Python on Visual Studio Code Extension for Torizon
How to Use UART with Torizon Visual Studio Code Extension (.NET Core) How to use the UART interface with .NET Core on Visual Studio Code Extension For Torizon
ADC (Linux) Base ADC article applicable to both the BSP and TorizonCore
How to Use ADC on TorizonCore How to access ADC through the sysfs interface in a container
Using PWM in a Container How to use PWM in a Container
How to Use I2C on Torizon How to give containers access to I2C devices in Torizon
CAN (Linux) Base CAN article applicable to both the BSP and TorizonCore
How to Use CAN on TorizonCore How to use CAN on Torizon both from the command-line and VS Code
EtherCAT How to get started with EtherCAT on Toradex modules

For a list with the entire Torizon documentation, go to the Torizon Documentation.