EtherCAT Slave  1.10.00
Release Notes
Attention
This release version includes experimental support for integration of alternate PHY components. Introduced in version 1.07.00. Please see the note on Experimental Features.

Overview

The Software Development Kit (SDK) for EtherCAT allows you to quickly integrate EtherCAT slave functionality into your device. The SDK is supported for Sitara processors by Texas Instruments Incorporated and currently available for AM64x and AM243x series of Cortex®-R5 based devices.

This document collection contains a Quickstart Guide, the User Manual, and the API Reference Manual for the EtherCAT Slave SDK. The API consists of the following modules: an API to access the basic EtherCAT Slave functionality, the API for the CiA 402 (Drives and Motion Control), the cyclic buffer handling API, and a board support package API.

Licensing

Copyright ©2022, KUNBUS GmbH
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Release Version 1.10.00

New Features:

  • [OSAL-254] Support for CCS 12 and SysCfg 1.13. (OSAL)
  • [OSAL-256] Support for CCS 12 and SysCfg 1.13. (HWAL)
  • [OSAL-257] OSAL V 1.00.07.
  • [OSAL-270] HWAL V 1.00.01.
    Improved license detection speed

Bugfix:

  • [DTKEC-339] F030h object description is corrupted after setting SubIdx 0 RW flag.
    F030h Object appears to be corrupted after calling the service DPR_eService_EC_CoESubIdx0WrFlag which sets the subIndex 0 with RW flag. By default array subIndex 0 flags use to be RO. This has been corrected

Release Version 1.09.00

New Features:

  • [OSAL-218] Support for MCU+SDK 8.04.00.01.
  • [DTKEC-900] Added new tools for improved code quality.
    Extended existing and added static code analysis tools as well as automated additional tests in CI environment.

Bugfix:

  • [DTKEC-840] Custom PHY Lib iterators caused data abort
    Custom PHY lib list handler did not properly check length of the list. This has been corrected.
  • [OSAL-218] Invalid PHY reset pins on AM243x LP
    Fixed syscfg error on Launchpad PHY reset lines (exchanged).

Release Version 1.08.00

New Features:

  • [DTKEC-956] Support for MCU+SDK 8.03.00.05.

Bugfix:

  • [DTKEC-852] Beckhoff Stack 5.13 fix bitmaps in ESI file
  • [DTKEC-933] Fix timeout issue on eval version.
    On specific circumstance eval limit was expired before expected.
  • [DTKEC-893] Register permission tests failing with 1.7.0 release
    Fix RegPerm set value where Bitwise or was logical or (by error)

Release Version 1.07.00

New Features:

  • [DTKEC-839] Add TI logo to ESI files
    Replaced generic logo icon in ESI with TI icon.
  • [DTKEC-825] Integrate Timesync Router configuration
    Added static Timesync Router configuration to DTK (PRU Integration).
  • [DTKEC-823] PRU/MDIO clock frequency change
    PRU/MDIO clock frequency increased to 333MHz to improve performance.
  • [DTKEC-822] Add support for MCU+SDK 8.3.x
    Add SDK 8.3 basic support with experimental enhancement of PRU/MDIO API.
  • [DTKEC-824] Use newly created PRU firmware from changed path
  • [DTKEC-752] Minor documentation changes
    Minor changes in the documentation: corrected formatting in known issues, replace DTK with SDK, corrected link to FAQ.
  • [DTKEC-744] Customer Slave Sample Code (SSC) for Windows and Linux Operating Systems
    In ${SDK_INSTALL_PATH}/source/industrial_comms/ethercat_slave/stack/patch there are a new makefile.custom-ssc and readme.md. Please follow the instructions in the readme.md to build your own SSC library from the available sources by ETG.
  • [DTKEC-453] Integrate Beckhoff Stack 5.13
    Customer Slave Sample Code (SSC) is compiled using Beckhoff Stack sources with a patch applied. Both patch and build process were adapted to the recently released SSC_V5i13.
  • [OSAL-148] OSAL revision 1.0.3
    Feature: new OSAL revision supporting MCU+SDK 8.03.xx

Bugfix:

  • [DTKEC-792] Hotfix custom SSC
    Bugfix: some flags on custom built Beckhoff library have been missing blocking status/error LEDs and DC from working on customer created libbkhfSsc.a.
  • [DTKEC-748] Second Vendor ID is set in custom SSC
    Bugfix: second vendor id was still shown on valid Beckhoff SSC compile.

Experimental Features

Attention
  • Features listed below are early versions and should be considered as "experimental".
  • Users can evaluate the feature, however the feature is not fully tested at TI side.
  • TI would not support these feature on public e2e.
  • Experimental features will be enabled with limited examples and SW modules.
  • [DTKEC-773] Custom PHY interface provided by stack.
    For evaluation hardware an example implementation is provided for DP83869.

Release Version 1.06.01

New Features:

  • [DTKEC-693] Build SSC Library with EC patch standalone
    Provide a patch for users to build the Beckhoff SSC Library with support for non-evaluation hardware.
  • [DTKEC-301] Test on AM243x EVM Hardware
    Stack on AM243x EVM passed ETG conformance tool automated tests.
  • [DTKEC-732] Integrate documentation of the OBD and Process Data configuration in Doxygen
    Extended documentation from ETG documents. See chapter EtherCAT SDKFAQ.

Bugfix:

  • [DTKEC-742] Improve firmware load stability on AM243EVM and AM64EVM
    • a former need call has been removed, which makes download of EtherCAT SDK more likely successful
  • [DTKEC-730] Build Warning still prevalent on the AM243x LP
    Removed duplicate definitions from board config code.
  • [DTKEC-731] Solve issue of loading firmware to the core
    Removed stale MPU configuration entry from sysconfig for AM64x-EVM.

Release Version 1.06.00

New Features:

Bugfix:

  • [DTKEC-673] FreeRTOS debug support
    • Fix linker files to make examples debuggable again
    • Reduce memory usage of IP protection security algorithms
  • [DTKEC-675] FreeRTOS thread stacks
    • Move thread stack variables to dedicated linker / memory section to avoid overwrite from stack manager

Release Version 1.05.02

Bugfix:

  • [DTKEC-645] Version incorrectly displayed
    • Incorrect version was displayed in the previous release.

Release Version 1.05.01

Bugfix:

  • [DTKEC-631] Datasheet memory information missing
    • Minor documentation corrections

Release Version 1.05.00

New Features:

  • [DTKEC-573] MCU+SDK 8.01.00.35
    • Update to MCU+SDK 8.01.00.35
  • [DTKEC-342] Protection of intellectual property
    • Add new chip-based license verification

Release Version 1.04.06

New Features:

  • [DTKEC-528] MCU+SDK 8.01.00.26
    • Updated to MCU+SDK 8.01.00.26 to and Code Composer 11

Release Version 1.04.05

New Features:

  • [DTKEC-474] Documentation
    • Update datasheet and add key performance parameter information
    • Remove references to SDKAPI from CiA-402 example
    • Fixed hyperlinks from Simple example documentation
  • [DTKEC-473] SysConfig AM243-EVM
    Remove obsolete DDR4 RAM entry from MPU configuration on AM64-EVM and AM243-EVM
  • [DTKEC-472] Analyze library size differences
    Use optimization for linkage Oz for all MCUs on FreeRTOS

Release Version 1.04.04

New Features:

  • [DTKEC-477] Automatic versioning
    Add automatic global versioning to demo apps and remove some compile time warning.

  • [DTKEC-448] Documentation automation
    Add size measurement to documentation

  • [DTKEC-403] Performance improvement
    Add measurement callback functions and additional APIs which allow to directly access CoE objects to improve performance while accessing objects in control cycle (e.g. CiA 402).

  • [DTKEC-455] Remove next steps to build an example
    Build an example description removed from documentation and replaced by Steps to Run the Example.

Release Version 1.04.03

New Features:

  • [DTKEC-372] Move "Supported Functionality" to the top level
    The "Supported Functionality" section in the documentation has been moved from "General Information" to the top-level.

  • [DTKEC-402] Project name change
    The project name has been changed from ethercat_linux to product_ethercat_slave.

  • [DTKEC-381] Reduce memory footprint

    Stack is now compiled with THUMB mode. Additionally, the ESI parser has been moved to the application.

  • [DTKEC-394] Suppress linker warnings
    The linker warnings have been corrected.

  • [DTKEC-395] OSAL_error 0x40000001 EC
    Missing defines have been added to TI shipped example.projectspec(s) accordingly

  • [DTKEC-396] MCU+ SDK 8.01.00.10 Support
    EtherCAT has been updated to support MCU+SDK 8.01.00.10.

  • [DTKEC-398] AM243x Heap size
    The heap size for the AM243x applications has been reduced.

Release Version 1.04.02

New Features:

  • [DTKEC-343] MCU+SDK 8.01.00.02 Support
    MCU+SDK 8.01.0.02 is now supported.
  • [DTKEC-243] Run and Error LED migrated TEST_LED_1 and TEST_LED_2
    The run and error LEDs have been migrated to TEST_LED_1 and TEST_LED_2, respectively.
  • [DTKEC-167] Memory allocation reduction
    The dynamically allocated memory footprint of the stack has been reduced. Additionally, the stack
    memory access has been migrated from DDR to MSRAM.

Bug Fixes:

  • [DTKEC-348] Both ports not working with AM243x LP
    Corrected issue with no communication on the second port.
  • [DTKEC-334] Update linker files to load apps only from MSRAM
    The linker scripts were not fully adjusted to support MSRAM. This has been corrected.
  • [DTKEC-318] Repeating "Data Transfer failed with transfer status -2" Message
    The "Data Transfer failed with transfer status -2" message that repeatedly displayed in the console output has been resolved.

Release Version 1.04.01

New Features:

  • [DTKEC-303] Create Project for AM243X EVM
    Created new Code Composer Studio project for AM243X EVM and created documentation for the new platform.

Bug Fixes:

  • [DTKEC-317] Fix startup stability issue
    Allocation of the stack size has been changed to the expected value. The larger size led to instabilities while booting up.

Release Version 1.04.00

New Features:

  • [DTKEC-256] MCU+SDK 08.00.00.08 Support
    EtherCAT has been updated to support MCU+SDK 08.00.00.08.
  • [DTKEC-283] Create Project for AM24X
    Created new Code Composer Studio project for AM243 and created documentation for the new platform.

Bug Fixes:

  • [DTKEC-250] Fix ESI file content for Simple, CTT and CIA402
    Corrected inconsistencies between all ESI files.
  • [DTKEC-247] AM64x ESI file fix
    Corrected access to PDO Mapping.

Release Version 1.03.01

New Features:

  • [DTKEC-237] AM64 Demo refactoring
    Split of OS and MCU support files in DemoApps
    Add conformance test tool Demo sources
    Add CiA402 Demo sources

Release Version 1.03.00

New Features:

  • [DTKEC-162] CiA402 3 axes application example
    Configuration of the CiA402 Object Dictionary and Process Data mapping described on ETG6010 Chapter 11 & 16.
    ESI File (EtherCAT Device Description file) for the CiA402 example.
    CiA402 state machine test. CiA402 is based on a state machine described in ETG6010 Chapter 5.
  • [DTKEC-147] Set GroupType Parameter from ESI Parser
    GroupType parameter describes which set of devices the slave is associated with. This parameter is set on the ESI file as well as on the EEPROM.

  • [DTKEC-200] Images in Quickstart are not up to date
    The Quickstart guide images are not representative (release V1.3.0) and have been updated.

Bug Fixes:

  • [DTKEC-228] AM64 Startup problems corrected
    Updated to support MCU plus 7.3.1.07.

Release Version 1.02.03

New Features:

  • [P2102-1] EtherCAT AM64 Porting to FreeRTOS
    Support for FreeRTOS R5 on AM64 controller has been added. Tickets included: P2101-2->9; P2101-11->16; P2101-19->29
  • [DTKEC-197] AM64x FreeRTOS update to MCU plus 7.3.0.18
    Updated to support MCU plus 7.3.0.18.

Release Version 1.02.00

New Features:

  • [DTKEC-180] EtherCAT AM64 Porting to TI-RTOS
    Support for AM64x (BETA) based on TI-RTOS SDK 7.2.1.11

  • [DTKEC-163] SDK Migration to TI SDK 7.0.1.6
    Updated to support TI SDK 7.0.1.6

Release Version 1.01.01

New Features:

  • Abstraction Layer baseline adopted to migrate to SDK7 in next Release

Release Version 1.01.00

New Features:

  • Initial Release