ECU Measurement and Calibration Toolkit 21.5 for Linux Readme

January 2022

This file contains late breaking news about ECU Measurement and Calibration (ECUMC) Toolkit and supersedes any information found in other documentation included in the distribution.

Refer to NI Linux Technology for the most recent information about Linux support at National Instruments.

Refer to the ECU Measurement and Calibration Toolkit Release Notes for known issues, bugs fixed since the last release, and other release details.


System Requirements

Installation Instructions

Supported Hardware

Device Configuration

Launching ECUMC Standalone Utilities

Using the ECU Measurement and Calibration Toolkit C API

Accessing the Help

Finding Examples

Linux Limitations

Legal Information


System Requirements

ECUMC Toolkit software for Linux 64-bit architecture has been tested on the following distributions:

  • openSUSE Leap 15.2
  • openSUSE Leap 15.1
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 7
  • CentOS 7
  • Ubuntu 20.04
  • Ubuntu 18.04

ECUMC Toolkit requires a 64-bit distribution and does not support 32-bit applications.

Installation Instructions

NI provides a repository add-on for all supported drivers that you can install using your Linux distribution's native package manager.

  1. Visit ni.com/info and enter the Info Code LinuxRepository.
  2. Download the installer for the repository add-on for your Linux distribution.
  3. Run the command (e.g., rpm, apt, etc.) to install the repository add-on.
  4. Select and install the following ECUMC Toolkit driver package through your Linux distribution's package manager:
    • ni-ecumc: Core libraries and files based on its dependencies, including libniemcc .
    • ni-ecumc-labview-<version>-support: LabVIEW API, libraries, and examples.
    • libniemcc-devel: C development support and examples.
    • ni-ecumc-a2l-viewer: Utility to view database files.
    • ni-ecumc-xcp-ccp-trace: Tool to monitor XCP and CCP protocol communication.
    • ni-ecumc-demo-ecu-xcp-ccp: Demo applications that simulate ECU communication using XCP and CCP protocols.
    • ni-ecumc-xnet-support: Hardware support for XNET devices.

After the driver package(s) are installed, you must rebuild the new packages for the system kernel. NI recommends that you run the command 'dkms autoinstall' after installation, and before rebooting the system, to install the latest revision of all modules that have been installed for other kernel revisions. After doing so, the installed device drivers will function immediately on the next system start.

Supported Hardware

The following list details the hardware models supported in ECUMC Toolkit 21.5 for Linux.

  • PCI-8511 Low‑Speed/Fault-Tolerant CAN Interface Device
  • PCI-8512 High‑Speed/FD CAN Interface Device
  • PCI-8513 Software‑Selectable/FD CAN Interface Device
  • PCI-8516 PCI LIN Interface Device
  • PCI-8517 FlexRay Interface Device
  • PCIe-8510 PCIe Vehicle Multi-Protocol Interface Device
  • PXI-8511 Low-Speed/Fault Tolerant PXI CAN Interface Module
  • PXI-8512 High-Speed, Flexible Data Rate PXI CAN Interface Module
  • PXI-8513 Software-Selectable PXI CAN Interface Module
  • PXI-8516 PXI LIN Interface Module
  • PXI-8517 PXI FlexRay Interface Module
  • PXIe-8510 PXI Vehicle Multiprotocol Interface Module
  • TRC-8542 CAN HS/FD Transceiver Cable
  • TRC-8543 CAN HS/FD or LS/FT Transceiver Cable
  • TRC-8546 LIN Transceiver Cable
  • NI 9860 C Series Vehicle Multiprotocol Interface Module1
  • NI 9861 Low-Speed/Fault Tolerant C Series CAN Interface Module
  • NI 9862 High-Speed, Flexible Data Rate C Series CAN Interface Module
  • NI 9866 C Series LIN Interface Module

1  The NI-9860 is supported only with TRC-8542 and TRC-8543 transceiver cables and installed in a cDAQ-9185 or cDAQ-9189 CompactDAQ Ethernet chassis

For more information, see Linux Limitations.

Device Configuration

The NI-XNET Hardware Configuration Utility, nixnetconfig, is a command line interface configuration utility for Linux desktop distributions. This utility provides functionality similar to the Measurement and Automation Explorer (MAX) graphical configuration utility, which is not supported on Linux. Run nixnetconfig to start the utility and configure supported NI-XNET interfaces and devices.

Launching ECUMC Standalone Utilities

You can launch the following ECUMC utilities either by desktop shortcut or by command line. Desktop shortcuts appear in your application launcher by the name of the utility. To use the command line, open a terminal window and type the executable name. For example, to launch the NI ECUMC A2L Viewer from command line, run ni-ecumc-a2l-viewer.

Desktop Shortcut Executable Description
NI ECUMC A2L Viewer ni-ecumc-a2l-viewer Use to display A2L databases for XCP and CCP.
NI ECUMC XCP and CCP Trace ni-ecumc-xcp-ccp-trace Use to analyze XCP and CCP communication between your ECUMC application and ECUs.
NI ECUMC Demo ECU XCP ni-ecumc-demo-ecu-xcp Contains tools to simulate ECU communication using XCP protocol.
NI ECUMC Demo ECU CCP ni-ecumc-demo-ecu-ccp Contains tools to simulate ECU communication using CCP protocol.

Using the ECU Measurement and Calibration C API

The following information describes how to get started using the ECUMC C API on a Linux platform.

Compiling

To compile an application that uses the ECUMC C API, include the header file niemc.h at the top of the source file:

#include <niemc.h>

The niemc.h header file is located in the standard include path:

/usr/include

As niemc.h is installed to the default include directory, the compiler automatically finds it; there is no need to explicitly specify the include path to compile the program.

Linking

The ECUMC C API is provided by the library libniemcc. Use the following option in the linker command line to add the libniemcc library:

-lniemcc

The libniemcc library is installed in the following directory:

/usr/lib/x86_64-linux-gnu

If required, add it to the linker's search path with the following command line option:

-L/usr/lib/x86_64-linux-gnu

Getting Started

Complete the following steps to create a simple program using the ECUMC C API:

  1. Include the niemc.h header file at the beginning of the program.
  2. Write your source code, which might include calling ECUMC C API functions.
  3. Use the following syntax to build your program ("MyECUMCExample" for the purpose of this example):
  4. gcc -DLINUX_BUILD -L/usr/lib/x86_64-linux-gnu MyECUMCExample.c -lniemcc -o MyECUMCExample

Accessing the Help

Use a web browser to view the ECUMC Toolkit documentation at https://www.ni.com/r/ecumchelp. You can also find a copy of the ECUMC Toolkit Help installed at /usr/share/doc/ni-ecumc.

Finding Examples

This release includes examples showing the use of ECUMC Toolkit 21.5 in C and LabVIEW.

C examples are located in /usr/share/doc/ni-ecumc/examples. Make files are provided that link to the necessary libraries.

The LabVIEW examples are located in the LabVIEW examples directory.

The read-meas-polling.c example connects the ECU described by an A2L file and reads measurement values using XCP on CAN, XCP on CAN FD, XCP on UDP, XCP on TCP/IP, or CCP.

Before running read-meas-polling.c, copy the example to a writable location, such as the home directory, and adjust all parameters in the code to match the values used in your setup. Run the makefile provided with the example, which will generate an executable called read-meas-polling. Run this program against your ECU to capture the specified measurement values. Make sure to start your ECU before running the example. Running the example requires reading an A2L file (see declarations within the source code).

Linux Limitations

Some features discussed in the ECUMC Toolkit 21.5 documentation are unavailable on Linux.

  • ECUMC Toolkit 21.5 supports two application development environments:
    • LabVIEW 2019, LabVIEW 2020, and LabVIEW 2021
    • C and C++ (gcc)
  • ECUMC Toolkit 21.5 does not support other ADEs, such as LabVIEW Real-Time Module, LabWindows/CVI, Microsoft Visual C/C++, or Microsoft Visual Basic.
  • Automotive Ethernet devices (i.e., PXIe-8521, PXIe-8522, PXIe-8523, and PXIe-8623) are not supported in this release.
  • While the ECUMC Toolkit 21.5 includes LabVIEW VIs, it does not provide graphical utilities that are available for other operating systems:
    • LabVIEW Express VIs.
    • Measurement and Automation Explorer (MAX) graphical configuration utility. Refer to Device Configuration for information about configuring your device on Linux.
    • Soft front panels.
  • Online help documentation is not included in the Linux distribution.
  • ECUMC Toolkit 21.5 for Linux is available in English only.

Legal Information

Copyright

© 2009–2022 National Instruments Corporation. All rights reserved.

This publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation.

NI respects the intellectual property of others, and we ask our users to do the same. NI software is protected by copyright and other intellectual property laws. Where NI software may be used to reproduce software or other materials belonging to others, you may use NI software only to reproduce materials that you may reproduce in accordance with the terms of any applicable license or other legal restriction.

End-User License Agreements and Third-Party Legal Notices

Notices are located in the /usr/share/doc/ni-ecumc/NOTICES directory. EULAs are located in the /usr/share/ni/licenses directory.

U.S. Government Restricted Rights

If you are an agency, department, or other entity of the United States Government ("Government"), the use, duplication, reproduction, release, modification, disclosure or transfer of the technical data included in this manual is governed by the Restricted Rights provisions under Federal Acquisition Regulation 52.227-14 for civilian agencies and Defense Federal Acquisition Regulation Supplement Section 252.227-7014 and 252.227-7015 for military agencies.

IVI Foundation Copyright Notice

Content from the IVI specifications reproduced with permission from the IVI Foundation.

The IVI Foundation and its member companies make no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The IVI Foundation and its member companies shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material.

Trademarks

Refer to the NI Trademarks and Logo Guidelines at ni.com/trademarks for information on NI trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies.

Patents

For patents covering the NI products/technology, refer to the NI Patent Notice at ni.com/patents.

378694A-01