Next Steps
You have set up and verified your host and target systems.
The following diagram shows an example of the next steps.
You have set up the BSP, enabled Intel® TCC Mode, and installed Intel® TCC Tools. Move on to the next step by running your own tests to see whether this setup meets your real-time requirements.
For example:
Run your real-time application along with other applications, per your expected use case, under worst-case conditions.
Check whether the setup meets your requirements.
If this setup does not meet your requirements, move on to further optimizing the system with Intel® TCC Tools. Steps 5, 6a, and 6b in the diagram will vary by use case. You may or may not need all steps or features to achieve your requirements. See the next section to learn which features are important for your use case and how to start using them.
Intel® TCC Tools Feature Summary
On your host system, libraries and headers are available under TCC_ROOT:
Libraries are located at ${TCC_ROOT}/lib64.
Headers are located at ${TCC_ROOT}/include/tcc.
The following tables show the full range of features and hardware support. Click the links to access more information in the Developer Guide.
Real-Time Configuration and Optimization
Feature |
Description |
Intel® Xeon® W-11000E Series Processors |
---|---|---|
Command-line tool that configures input/output (I/O) and processor fabric to optimize the time required to transfer data between two processor subsystems. System power consumption and general compute characteristics are also changed by this tool. Ideally, the developer should know how data flows through the system. If this is not fully known, the tool allows an iterative process to find the ideal tuning. |
✓ |
|
Sample input files for the data streams optimizer, including a synthetic real-time application and validation script. The application measures MMIO read latency performance. Use the files to learn how the tool works and see improvements in latency reduction. Copy and modify for your real-time application. |
✓ |
|
Tools that help bound the time needed to access data from a memory buffer based on your specified latency requirements.
|
✓ |
|
C application that demonstrates the basic flow of the cache allocation library. Offers command-line options and latency measurements to show the before-and-after benefit of the library. Copy and modify source code to add the APIs to your real-time application. |
✓ |
Feature |
Description |
12th Generation Intel® Core™ Processors |
11th Generation Intel® Core™ Processors |
Intel Atom® x6000E Series Processors |
---|---|---|---|---|
Command-line tool that configures input/output (I/O) and processor fabric to optimize the time required to transfer data between two processor subsystems. System power consumption and general compute characteristics are also changed by this tool. Ideally, the developer should know how data flows through the system. If this is not fully known, the tool allows an iterative process to find the ideal tuning. |
✓ |
✓ |
✓ |
|
Sample input files for the data streams optimizer, including a synthetic real-time application and validation script. The application measures MMIO read latency performance. Use the files to learn how the tool works and see improvements in latency reduction. Copy and modify for your real-time application. |
✓ |
✓ |
✓ |
|
Tools that help bound the time needed to access data from a memory buffer based on your specified latency requirements.
|
✓ |
✓ |
✓ |
|
C application that demonstrates the basic flow of the cache allocation library. Offers command-line options and latency measurements to show the before-and-after benefit of the library. Copy and modify source code to add the APIs to your real-time application. |
✓ |
✓ |
✓ |
Measurement and Analysis
Feature |
Description |
Intel® Xeon® W-11000E Series Processors |
---|---|---|
Command-line tools for Linux and UEFI BIOS that check system readiness for real-time applications by detecting and verifying the many attributes that may be affecting real-time performance such as processor model, BIOS version, BIOS settings, and other dependencies. |
✓ |
|
C APIs that help analyze different aspects of your application’s performance and identify bottlenecks which can then be alleviated (for instance, by the cache allocation library). |
✓ |
|
C application that demonstrates how to use the measurement library to instrument one part of an application, such as the entire real-time cycle. Run the sample to see library capabilities, such as collecting execution time (min, max, average, jitter) and deadline monitoring. Copy and modify source code to add the APIs to your real-time application. |
✓ |
|
C application that demonstrates how to use the measurement library to instrument multiple parts of an application, such as the entire cycle and various parts of it to pinpoint latency sources more precisely. Demonstrates a lighter weight application that does not print or analyze its own data. Intended to be run with the measurement analysis sample for data collection and visualization. Copy and modify source code to add the APIs to your real-time application. |
✓ |
|
C application that monitors measurements generated by the single measurement sample, which serves as a proxy real-time application. Demonstrates “stream monitoring” – the monitoring sample runs at the same time as the single measurement sample and prints latency measurements and deadline violations as they occur. Intended for those who want to integrate such monitoring with other parts of their environment such as validation applications or scripts, where C is preferable as a common denominator that can be added everywhere. Copy and modify source code to tailor the monitoring sample to your real-time application. |
✓ |
|
Universal tool, written in Python*, that collects and analyzes data from any application instrumented with the appropriate measurement library APIs. Performs two types of analysis: “post-process analysis” (after the application closes), such as creation of histograms, and “stream monitoring” (while the application is running). Source code is provided for possible adaptation. |
✓ |
Feature |
Description |
12th Generation Intel® Core™ Processors |
11th Generation Intel® Core™ Processors |
Intel Atom® x6000E Series Processors |
---|---|---|---|---|
Command-line tools for Linux and UEFI BIOS that check system readiness for real-time applications by detecting and verifying the many attributes that may be affecting real-time performance such as processor model, BIOS version, BIOS settings, and other dependencies. |
✓ |
✓ |
✓ |
|
C APIs that help analyze different aspects of your application’s performance and identify bottlenecks which can then be alleviated (for instance, by the cache allocation library). |
✓ |
✓ |
✓ |
|
C application that demonstrates how to use the measurement library to instrument one part of an application, such as the entire real-time cycle. Run the sample to see library capabilities, such as collecting execution time (min, max, average, jitter) and deadline monitoring. Copy and modify source code to add the APIs to your real-time application. |
✓ |
✓ |
✓ |
|
C application that demonstrates how to use the measurement library to instrument multiple parts of an application, such as the entire cycle and various parts of it to pinpoint latency sources more precisely. Demonstrates a lighter weight application that does not print or analyze its own data. Intended to be run with the measurement analysis sample for data collection and visualization. Copy and modify source code to add the APIs to your real-time application. |
✓ |
✓ |
✓ |
|
C application that monitors measurements generated by the single measurement sample, which serves as a proxy real-time application. Demonstrates “stream monitoring” – the monitoring sample runs at the same time as the single measurement sample and prints latency measurements and deadline violations as they occur. Intended for those who want to integrate such monitoring with other parts of their environment such as validation applications or scripts, where C is preferable as a common denominator that can be added everywhere. Copy and modify source code to tailor the monitoring sample to your real-time application. |
✓ |
✓ |
✓ |
|
Universal tool, written in Python*, that collects and analyzes data from any application instrumented with the appropriate measurement library APIs. Performs two types of analysis: “post-process analysis” (after the application closes), such as creation of histograms, and “stream monitoring” (while the application is running). Source code is provided for possible adaptation. |
✓ |
✓ |
✓ |
Time Synchronization and Communication
Feature |
Description |
Intel® Xeon® W-11000E Series Processors |
---|---|---|
C applications that demonstrate the enhanced precision of hardware-assisted time synchronization vs. normal software-controlled GPIO. Copy and modify source code for your real-time application. |
✓ |
|
C application that demonstrates the accuracy of hardware-assisted cross-timestamping between the system clock (CLOCK_REALTIME) and a Precision Time Protocol Hardware Clock (PHC). Copy and modify source code for your real-time application. |
✓ |
|
Set of example programs and scripts that demonstrate the benefit of combining the cache allocation library with Time-Sensitive Networking (TSN) provided by Intel. Copy and modify source code for your real-time application. |
✓ |
Feature |
Description |
12th Generation Intel® Core™ Processors |
11th Generation Intel® Core™ Processors |
Intel Atom® x6000E Series Processors |
---|---|---|---|---|
C applications that demonstrate the enhanced precision of hardware-assisted time synchronization vs. normal software-controlled GPIO. Copy and modify source code for your real-time application. |
✓ |
✓ |
✓ |
|
C application that demonstrates the accuracy of hardware-assisted cross-timestamping between the system clock (CLOCK_REALTIME) and a Precision Time Protocol Hardware Clock (PHC). Copy and modify source code for your real-time application. |
✓ |
✓ |
✓ |
|
Set of example programs and scripts that demonstrate the benefit of combining the cache allocation library with Time-Sensitive Networking (TSN) provided by Intel. Copy and modify source code for your real-time application. |
✗ |
✓ |
✓ |
Related Documentation
Document |
Scope |
---|---|
The Developer Guide shows how to use the APIs, tools, and sample applications. |
|
API Reference |
The API Reference is a Doxygen*-generated document that provides descriptions of API elements, such as functions, data structures, and error codes. The document also shows sample application source files with links to associated descriptions. The API Reference is available in the following locations:
|
Sample Applications |
Sample applications are provided in source and binary formats: Sample sources, including makefiles: /usr/share/tcc_tools/samples Sample binaries: /usr/bin Sample sources on host: ${TCC_ROOT}/samples/ |
The Release Notes describe changes since the last release and known issues. |
For more information, see the Product Page.