ECU Measurement and Calibration Toolkit 21.8 for Linux Readme

April 2022

This file contains installation instructions and compatibility information for ECU Measurement and Calibration (ECUMC) Toolkit and supersedes any information found in other documentation included in the distribution.

You can find more release information on ni.com.

  • ECU Measurement and Calibration Toolkit Release Notes: Known issues, bugs fixed since the last release, and other notes about this release
  • ECU Measurement and Calibration Manuals: New features, behavior changes, and other documentation
  • Refer to NI Linux Technology for the most recent information about Linux support at National Instruments.


    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. Refer to Download and Install NI Driver Software on Linux Desktop for detailed instructions.
    2. Download the installer for the repository add-on for your Linux distribution.
    3. Install the repository add-on using the appropriate command for your package manager (e.g., apt, yum, and so 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.8 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
    • PXIe-8521 100BASE-T1 PXI Automotive Ethernet Interface Module
    • PXIe-8522 1000BASE-T1 PXI Automotive Ethernet Interface Module
    • PXIe-8523 100/1000BASE-T1 PXI Automotive Ethernet Interface Module
    • PXIe-8623 100BASE-TX/1000BASE-T PXI Automotive Ethernet 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 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 documentation are not available on Linux.

    • Only the following application development environments are supported:
      • LabVIEW 2019 SP1, LabVIEW 2020 SP1, and LabVIEW 2021 SP1
      • C and C++ (gcc)
    • Other ADEs are not supported, including LabVIEW Real-Time Module, LabWindows/CVI, Microsoft Visual C/C++, or Microsoft Visual Basic.
    • While the toolkit includes LabVIEW VIs, ECUMC does not provide graphical utilities 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 in Linux.
      • Soft front panels.
    • Online help documentation is not included in the Linux distribution.
    • ECUMC Toolkit 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.

    378694B-01