- 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:
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
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.
-
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.11.00
New Features:
-
[DTKEC-1251] Add support for mdio manual mode workaround
-
[DTKEC-1214] Refactor EC_API_SLV_setState function.
Added error code parameter to inform about an application error.
-
[DTKEC-1088] Support for MCU+ SDK 8.05.00.01
-
[OSAL-315] Support for CCS 12.1 and SysCfg 1.14. (OSAL)
-
[OSAL-256] Support for CCS 12.1 and SysCfg 1.14. (HWAL)
-
[OSAL-257] OSAL V 1.00.09.
-
[OSAL-270] HWAL V 1.00.03.
Improved license detection speed
-
[OSAL-315] Support MCU+ SDK 8.04.00.17.
Release Version 1.10.01
New Features:
-
[DTKEC-1191] Documentation improvements
Changed placement of EtherCAT logo to top of documentation, grammatical corrections and minor formatting changes.
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.
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
Release Version 1.02.00
New Features:
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: