AM261x INDUSTRIAL COMMUNICATIONS SDK  2025.00.00
Release Notes 2025.00.00

Note
Industrial Communications SDK version 2025.00.00 supports LP-AM261 Rev. A by default. The previous LP-AM261 Rev. E2 is also supported by changing build settings. Please refer to the documentation of the examples for details.
Attention
Also refer to individual module pages for more details on each feature, unsupported features, important usage guidelines.
For release notes of MCU+ SDK, please refer to AM261X MCU+ SDK Release Notes 11.00.00.
Note
The examples will show usage of SW modules and APIs on a specific CPU instance and OS combination.
Unless noted otherwise, the SW modules would work on all supported EVMs

New in this Release

Feature
PROFINET Isochronous mode support
PROFINET MRPD support
EtherNet/IP - Device Level Ring (DLR) Supervisor support added in the FWHAL.
HSR-PRP 100M support added. Refer HSR/PRP.

Device and Validation Information

SOC Supported CPUs Boards Host PC
AM261x R5F AM261x LaunchPad Revision A (referred to as am261x-lp in code).
Windows 10 64b or Ubuntu 18.04 64b or MacOS

Tools, Compiler and Other Open Source SW Module Information

Tools / SW module Supported CPUs Version
Code Composer Studio R5F 20.3.0
SysConfig R5F 1.25.0, build 4268
TI ARM CLANG R5F 4.0.3.LTS
MCU-PLUS-SDK-AM261X R5F 11.00.00.29
FreeRTOS Kernel R5F 11.1.0
LwIP R5F STABLE-2_2_1_RELEASE
Mbed-TLS R5F mbedtls-2.13.1

Key Features

Fixed Issues

ID Head Line Module Applicable Releases Resolution/Comments
PINDSW-7640 Fix PHY LED configuration on DP83826E PHY Devices EtherCAT SubDevice 10.02.00
PINDSW-8354 Update ESI Product Code for AM26x platforms EtherCAT SubDevice 10.02.00
PINDSW-8463 Enable usage of ICSSM1 for EtherCAT on AM261x SysConfig EtherCAT SubDevice 10.02.00
PINDSW-8469 Remove IEP Clock Sync code sequence from application as the same is done from Sysconfig EtherCAT SubDevice 10.02.00
PINDSW-8527 Sync Jitter mismatch when Continous Sync Monitoring enabled in Acontis based MainDevices EtherCAT SubDevice 10.02.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9140 Use MDIO link interrupt along with MII Link interrupt for improved link detection EtherCAT SubDevice 10.02.00
PINDSW-9142 Enable Enhanced Link by default in the EEPROM contents for ESC Configuration EtherCAT SubDevice 10.02.00
PINDSW-9148 Optimize MBX Write (FPWR) Path EtherCAT SubDevice 10.02.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9284 Malformed packets observed in CTT (Conformance Test Tool) when using more than 4 SyncManagers EtherCAT SubDevice 10.02.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9412 Sync0 drift happening after a month of continous run EtherCAT SubDevice 10.02.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9565 Incorrect length computation for SM Write EtherCAT SubDevice 10.02.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9587 Use IO Expander for programming MDIO MUX SEL in AM261x-LP RevA EtherCAT SubDevice 10.02.00
PINDSW-9675 Incorrect Interrupt Number used for bsp_global_mutex_lock and bsp_global_mutex_unlock EtherCAT SubDevice 10.02.00 The interrupt number was not compensated correctly in bsp_global_mutex_lock() and bsp_global_mutex_unlock()
PINDSW-8027 ISOM interrupt mode triggered at same time for both Ti and To interrupts PROFINET Device 10.02.00 Separate interrupts configured for both Ti and To events.
PINDSW-8112 Cycle time support for multiple of 125 us PROFINET Device 11.00.00 All cycle time multiple of 125us(minimum 250us) are supported
PINDSW-9216 Fix incorrect RTC3 port state during startup PROFINET Device 11.00.00 RTC3 Port state set to "RUN" only after device in sync.
PINDSW-9237 Incorrect dynamic cycle time configuration behavior PROFINET Device 11.00.00 Cycle time can be re-configured without device power reset.
PINDSW-9553 Fix DCP response sent when targeted to Port MAC address PROFINET Device 11.00.00 DCP frames targeted to port MAC address are dropped

Known Issues

ID Head Line Module Applicable Releases Workaround
MCUSDK-14709 Flash verification error: Read data using Flash_read does not match Flash_write data Flash 10.02.00 Disable "--use_memcpy=fast" and "--use_memset=fast" flags in linker options. Also make sure 'Enable PHY Mode' is checked in Sysconfig OSPI module.
PINDSW-8498 PPM frames transmit with incorrect cycle counter PROFINET Device 11.00.00 Update cycle counter before transmission of PPM
PINDSW-8517 SYNC1 Generated 1 cycle after first SYNC0 pulse when SYNC1 shift is configured from MainDevice EtherCAT SubDevice 10.02.00
PINDSW-8333 Provide option for setting Sync ISR (FIQ) flag to reduce latency on SYNC0 interrupt EtherCAT SubDevice 10.02.00 Modify PRUICSS_registerIrqHandler in mcu_plus_sdk\source\drivers\pruicss\m_v0\pruicss_m_v0.c with an additional argument for setting/unsetting FIQ:
--- a/source/drivers/pruicss/m_v0/pruicss.h
+++ b/source/drivers/pruicss/m_v0/pruicss.h
@@ -427,6 +427,7 @@ int32_t PRUICSS_registerIrqHandler(PRUICSS_Handle handle,
int32_t intrNum,
int32_t eventNum,
uint8_t waitEnable,
+ uint8_t isFIQFlagSet,
PRUICSS_IrqHandler irqHandler);
/**
diff --git a/source/drivers/pruicss/m_v0/pruicss_m_v0.c b/source/drivers/pruicss/m_v0/pruicss_m_v0.c
index 3a65ff4f..f61ed9c6 100644
--- a/source/drivers/pruicss/m_v0/pruicss_m_v0.c
+++ b/source/drivers/pruicss/m_v0/pruicss_m_v0.c
@@ -249,6 +249,7 @@ int32_t PRUICSS_registerIrqHandler(PRUICSS_Handle handle,
int32_t intrNum,
int32_t eventNum,
uint8_t waitEnable,
+ uint8_t isFIQFlagSet,
PRUICSS_IrqHandler irqHandler)
{
PRUICSS_Object *object;
@@ -281,6 +282,7 @@ int32_t PRUICSS_registerIrqHandler(PRUICSS_Handle handle,
/*TODO: Take priority as an argument to this function*/
hwiParams.priority = 0x1;
hwiParams.intNum = intrNum;
+ hwiParams.isFIQ = isFIQFlagSet;
hwiParams.callback = (HwiP_FxnCallback)PRUICSS_hwiIntHandler;
retVal = HwiP_construct(&(object->pruEvntOutFnMapArray[pruEvtoutNum].hwiObj), &hwiParams);
Recompile the driver from the MCU+ SDK Root folder with the following commands:
gmake -s -f makefile.am261x drivers_r5f.ti-arm-clang.freertos PROFILE=debug
gmake -s -f makefile.am261x drivers_r5f.ti-arm-clang.freertos PROFILE=release
Make sure PRUICSS_registerIrqHandler call within source\industrial_comms\ethercat_subdevice\icss_fwhal\tiescbsp.c takes care for the additional argument and isFIQFlagSet is set to 1 for SYNC0_EVENT.

Upgrade and Compatibility Information

This section lists changes which could affect user applications developed using older SDK versions. Read this carefully to see if you need to do any changes in your existing application when migrating to this SDK version relative to previous SDK version. Also refer to older SDK version release notes to see changes in earlier SDKs.

Examples

Module Affected API Change Additional Remarks
EtherCAT SubDevice Beckhoff SSC Demo N/A Naming convention change from "EtherCAT slave" to "EtherCAT SubDevice" accross directories

The changes are applicable for TI EtherCAT Beckhoff SSC Demo at examples/industrial_comms/ethercat_subdevice_beckhoff_ssc_demo/ and TI EtherCAT SubDevice source directory at source/industrial_comms/ethercat_subdevice/

EtherCAT SubDevice Demo N/A Naming convention change from "EtherCAT slave" to "EtherCAT SubDevice" accross directories The changes are applicable only for TI Integrated EtherCAT Stack Examples at examples/industrial_comms/ethercat_subdevice_demo. Refer to EtherCAT TI Integrated Stack Release Notes
EtherNet/IP Adapter Demo N/A Refactor folder structures and naming convention for the Examples. Refer to Overview of EtherNet/IP Adapter Demo

Drivers

Module Affected API Change Additional Remarks
PROFINET Device setCpmDHT Check updated API arguments Change required to check for MRPD flag
PROFINET Device insPpmList Check updated API arguments Change required to check for MRPD communication
PROFINET Device insCpmList Check updated API arguments Change required to check for MRPD communication
PROFINET Device PN_setCpmDHT Check updated API arguments Change required to check for MRPD flag
PROFINET Device PN_insPpmList Check updated API arguments Change required to check for MRPD communication
PROFINET Device PN_insCpmList Check updated API arguments Change required to check for MRPD communication
PROFINET Device PN_MRP_setPortState Check updated API arguments Change required to check for MRPD communication