Using the RTX64 Application Template
RTX64 provides two templates in the Templates/Visual C++ branch in the supported versions of Microsoft Visual Studio:
- RTX64 Application – creates a project and solution for the development of RTX64 applications.
- RTX64 RTDLL – creates a project and solution for the development of RTX64 dynamic link libraries (RTDLLs). For more information on this template, see Using the RTX64 RTDLL Template.
The RTX64 project contains four build configurations: Windows Release, Windows Debug, RTSSRelease, and RTSSDebug. The RTX64 Application Template sets the project settings for each configuration according to the program and project options that you specify. The template can also provide a basic C/C++ program framework with which to work. This program framework can include RTX64 program elements, which contain C/C++ code to create RTX64 objects and demonstrate their use.
NOTE: RTX64 only supports absolute pathnames.
Sections in this Topic:
Creating an RTX64 Application
The RTX64 Application template provides the structure for creating RTX64 applications. Use the following procedure to create an RTX64 project using the RTX64 Application template in Microsoft Visual Studio.
NOTE: RTX64 does not support the building of managed RTSS applications. For additional information on using RTX64 from within a Windows managed code application, see the RTX64 Managed Code Reference Manual.
To create an RTX64 Application Project:
- From the Visual Studio menu bar select File > New > Project.
- Select Visual C++ from the Templates list.
- Select RTX64 Application from the templates area. This template is a single-page dialog that displays the default project settings and provides optional application and program settings
New image
- To accept the current settings, click Finish. Optionally, you can specify other options and libraries that you want to include in your RTX64 application project:
New image
- SDK Version – If you have multiple versions of the SDK installed, select the version you want to use. Note that if you build a binary using the RTX64 2014 SDK, it will not load in any newer RTX64 runtime versions. And if you build a binary using the RTX64 2015 SDK, it will not load in previous version of RTX64 runtime.
- Project Type – You can create a project in C or C++. Select the type of project source you want to create.
- Supported String Convention – Specify Unicode or ASCII.
- Add additional headers and libraries:
- RT-TCP/IP Support – adds support for the RT-TCP/IP Stack component.
- Microsoft C Runtime Support – adds C/C++ Runtime support. Most programs need support for C Runtime functions.
- If these are all the options needed, click Finish to create the project. Otherwise, continue editing program settings for this application.
- Provide a program framework – The RTX64 Application Wizard can build a basic program framework consisting of source and header files, or it can build an empty project. When Provide a program framework is un-checked, the RTX64 Application template sets only the project settings and does not include any header or C/C++ files, and all program elements become grayed-out. When Provide a program framework is checked, the RTX64 Application template inserts into the project C/C++ source files that contain basic program functionality and header files that contain include and define statements.
When Provide a program framework is checked, you can optionally add elements to the program framework. These code segments show proper usage of Real-time API function calls and can serve as examples of how to set up these elements. Areas in the element code that need to be customized by the user are indicated by "TO DO" comments. You can select more than one type of programming element for a single project. The following table provides the available program elements.
Element | Description |
---|---|
Event server thread |
Inserts a code segment into the program framework that creates a child thread function shell, a named event and a child thread, and sets thread priorities and resumes/suspends threads. The user should supply the child thread function code, the event name and exception code. This option is only available if you specified an RTX64 application as the type of program to be built when you set the application settings. |
Periodic timer thread |
Creates a periodic timer function shell, and inserts a code segment into the program framework that creates and sets a periodic timer. The user should supply the timer period, the periodic timer function code, and exception code. This option is only available if you specified an RTX64 application as the type of program to be built when you set the application settings. |
Interrupt Service Routine (ISR) |
Creates a basic Interrupt Service Routine template that can be used to determine the interrupt owner when an interrupt is shared. Inserts code segments into the program framework to support interrupt sharing |
Interrupt Service Thread (IST) |
Adds support for sharing an interrupt. |
Basic Port I/O |
Inserts a code segment into the program framework that supports Port I/O. Enables/disables Port I/O, and demonstrates basic reading and writing to an I/O Port. |
Basic mapped memory |
Inserts a code segment into the program framework that supports Memory Mapping. Note: This element is not supported for serial devices. |
- Click Finish. This generates the RTX64 solution and project according to the options you selected.
The RTX64 Custom Macro
RTX64 utilizes a custom macro, $(Rtx64Platform)
, that is used to find the correct library directory for projects. This custom macro requires two property files, which are installed with the RTX64 SDK:
- Rtx64.cpp.x64.user.props
- Rtx64.cpp.win32.user.props
All projects import these property files. If they are edited in any way, projects will not load correctly.
Resulting Configurations
Six configurations for creating applications are generated in Visual Studio when you create a project using the RTX64 Application template:
x64
- RTSSDebug – Real-time application that has debug flags enabled
- RTSSRelease – Real-time application without additional debug information
- Debug – Windows 64-bit application linked to RTX64 that has debug flags enabled
- Release – Windows 64-bit application linked to RTX64
Win32
- Debug – Windows 32-bit application linked to RTX64 that has debug flags enabled
- Release – Windows 32-bit application linked to RTX64
Compiler and Linker Options
For a complete list, see Compiler and Linker Options for Visual Studio.