AM243x INDUSTRIAL COMMUNICATIONS SDK  2025.00.00
Release Notes 2025.00.00

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 AM243X MCU+ SDK Release Notes 11.01.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
PRP 1G Support added. Refer the PRP 1G (using LwIP) and PRP 1G Layer 2 demos.
PROFINET AM243x-LP(ALX package) support
PROFINET Isochronous mode support
PROFINET MRPD support
EtherNet/IP - Device Level Ring (DLR) Supervisor support added in the FWHAL.

Device and Validation Information

SOC Supported CPUs Boards Host PC
AM243x R5F AM243x GP EVM (referred to as am243x-evm in code),
AM243x LAUNCHPAD (referred to as am243x-lp in code)
Windows 10 64b or Ubuntu 18.04 64b

Tools, Compiler and Other Open Source SW Module Information

Tools / SW module Supported CPUs Version
Code Composer Studio R5F, M4F 20.2.0
SysConfig R5F, M4F 1.23.0, build 4000
TI ARM CLANG R5F, M4F 4.0.1.LTS
MCU-PLUS-SDK-AM243X R5F, M4F 11.01.00.19
FreeRTOS Kernel R5F, M4F 11.1.0
Tiny USB R5F 0.14.0
LwIP R5F STABLE-2_2_0_RELEASE
Mbed-TLS R5F mbedtls-2.13.1

Features not supported in release

Feature Not Supported in Profinet Device
RGMII Mode

Fixed Issues

ID Head Line Module Applicable Releases Resolution/Comments
PINDSW-8027 ISOM interrupt mode triggered at same time for both Ti and To interrupts PROFINET Device 11.00.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
PINDSW-5122 DLR does not work in RGMII mode EtherNet/IP Adapter 08.04.00
PINDSW-7640 Fix PHY LED configuration on DP83826E PHY Devices EtherCAT SubDevice 11.00.00
PINDSW-8469 Remove IEP Clock Sync code sequence from application as the same is done from Sysconfig EtherCAT SubDevice 11.00.00
PINDSW-8527 Sync Jitter mismatch when Continous Sync Monitoring enabled in Acontis based MainDevices EtherCAT SubDevice 11.00.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 11.00.00
PINDSW-9142 Enable Enhanced Link by default in the EEPROM contents for ESC Configuration EtherCAT SubDevice 11.00.00
PINDSW-9148 Optimize MBX Write (FPWR) Path EtherCAT SubDevice 11.00.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 11.00.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9412 Sync0 drift happening after a month of continous run EtherCAT SubDevice 11.00.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9565 Incorrect length computation for SM Write EtherCAT SubDevice 11.00.00 More details in EtherCAT_SubDevice_Errata.pdf
PINDSW-9675 Incorrect Interrupt Number used for bsp_global_mutex_lock and bsp_global_mutex_unlock EtherCAT SubDevice 11.00.00 The interrupt number was not compensated correctly in bsp_global_mutex_lock() and bsp_global_mutex_unlock()

Known Issues

ID Head Line Module Applicable Releases Workaround
PINDSW-5666 EtherNet/IP : PTP Device is unable to keep offset under 1000 ns EtherNet/IP Adapter 08.04.00 Value of OFFSET_THRESHOLD_FOR_RESET is set to 10000 ns by default in SDK
PINDSW-8498 PPM frames transmit with incorrect cycle counter PROFINET Device 11.00.00
PINDSW-8517 SYNC1 Generated 1 cycle after first SYNC0 pulse when SYNC1 shift is configured from MainDevice EtherCAT SubDevice 09.02.00
SITSW-8500 SBL OSPI failing with large-sized application on AM243x-Launchpad SBL OSPI 11.01.00 MCU-PLUS-SDK: Disable the bootloader scratch memory in the SBL OSPI example. To do this, please apply the diff file am243lp_sbl.diff. Recompile the bootloader by:
gmake -s -C examples/drivers/boot/sbl_ospi/am243x-lp/r5fss0-0_nortos/ti-arm-clang all PROFILE=debug
gmake -s -C examples/drivers/boot/sbl_ospi/am243x-lp/r5fss0-0_nortos/ti-arm-clang all PROFILE=release
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\g_v0\pruicss_g_v0.c with an additional argument for setting/unsetting FIQ:
--- a/source/drivers/pruicss/g_v0/pruicss.h
+++ b/source/drivers/pruicss/g_v0/pruicss.h
@@ -451,6 +451,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/g_v0/pruicss_g_v0.c b/source/drivers/pruicss/g_v0/pruicss_g_v0.c
index 2531e915..e37bf610 100644
--- a/source/drivers/pruicss/g_v0/pruicss_g_v0.c
+++ b/source/drivers/pruicss/g_v0/pruicss_g_v0.c
@@ -279,6 +279,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;
@@ -311,6 +312,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.am243x drivers_r5f.ti-arm-clang.freertos PROFILE=debug
gmake -s -f makefile.am243x 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