Feature | Module |
SR 2.0 HS-FS device support, see HS FS Migration Guide for more details | Common |
SysConfig Support for GPIO interrupt configuration | GPIO |
Syconfig support and flash driver redesign to enable new flash configuration | Flash |
Optimized trigonometric funtion support on R5 core | Common |
McSPI Driver update for performance improvement | SBL, CPSW |
Warm reset workaround for CPSW register lockup in MMCSD and OSPI SBL | SBL |
TCP/IP Checksum offload to hardware support enabled in ethernet CPSW driver | CPSW |
Simplified LwIP CPSW examples added for reference | CPSW |
CPSW driver memory footprint reduced by more than 40% | CPSW |
CPSW driver support added for MDIO manual mode | CPSW |
CPSW ALE congurations are moved to SysConfig GUI | CPSW |
CPSW DSCP Priority mapping and Policer usecase is added in the CPSW example | CPSW |
Multi-core (R5) support added for CPSW driver | CPSW |
New CPSW Layer2 loop back example is added | CPSW |
MDIO Manual Mode Support for EtherCAT Slave Beckhoff SSC examples and HSR-PRP examples | Industrial Communications Toolkit |
Removal of Profinet Device Examples | Industrial Communications Toolkit |
HDSL: Short Message Read Feature | Motor Control |
HSR(High-availability Seamless Redundancy) demo example | Industrial Communications Toolkit |
SDL: MCRC and ESM | SDL |
OS | Supported CPUs | SysConfig Support | Key features tested | Key features not tested / NOT supported |
FreeRTOS Kernel | R5F, M4F, A53 | NA | Task, Task notification, interrupts, semaphores, mutexes, timers, event groups. ROV views in CCS IDE, Task load measurement using FreeRTOS run time statistics APIs. | Only single core A53 FreeRTOS is supported. Second core is NOT used. |
FreeRTOS SMP Kernel | A53 | NA | Task, Task notification, interrupts, semaphores, mutexes, timers, event groups. ROV views in CCS IDE, Task load measurement using FreeRTOS run time statistics APIs. | - |
FreeRTOS POSIX | R5F, M4F, A53 | NA | pthread, mqueue, semaphore, clock | - |
NO RTOS | R5F, M4F, A53 | NA | See Driver Porting Layer (DPL) below | Only single core A53 NORTOS is supported. Second core is NOT used. |
Module | Supported CPUs | SysConfig Support | OS support | Key features tested | Key features not tested / NOT supported |
Address Translate | M4F | YES | FreeRTOS, NORTOS | Use RAT to allow M4F access to peripheral address space | - |
Cache | R5F, A53 | YES | FreeRTOS, NORTOS | Cache write back, invalidate, enable/disable | - |
Clock | R5F, M4F, A53 | YES | FreeRTOS, NORTOS | Tick timer at user specified resolution, timeouts and delays | - |
CpuId | R5F | NA | FreeRTOS, NORTOS | Verify Core ID and Cluster ID that application is running | - |
CycleCounter | R5F, M4F, A53 | NA | FreeRTOS, NORTOS | Measure CPU cycles using CPU specific internal counters | - |
Debug | R5F, M4F, A53 | YES | FreeRTOS, NORTOS | Logging and assert to any combo of: UART, CCS, shared memory | - |
Heap | R5F, M4F, A53 | NA | FreeRTOS, NORTOS | Create arbitrary heaps in user defined memory segments | - |
Hwi | R5F, M4F, A53 | YES | FreeRTOS, NORTOS | Interrupt register, enable/disable/restore | - |
MPU | R5F, M4F | YES | FreeRTOS, NORTOS | Setup MPU and control access to address space | - |
MMU | A53 | YES | NORTOS | Setup MMU and control access to address space | - |
Semaphore | R5F, M4F, A53 | NA | FreeRTOS, NORTOS | Binary, Counting Semaphore, recursive mutexs with timeout | - |
Task | R5F, M4F, A53 | NA | FreeRTOS | Create, delete tasks | - |
Timer | R5F, M4F, A53 | YES | FreeRTOS, NORTOS | Configure arbitrary timers | - |
Event | R5F, M4F | YES | FreeRTOS | Setting, getting, clearing, and waiting of Event bits | - |
Peripheral | Supported CPUs | SysConfig Support | DMA Supported | Key features tested | Key features not tested / NOT supported |
ADC | R5F | YES | No | Single conversion (one-shot mode), interrupt mode, DMA mode | Continuous conversion not tested |
CRC | R5F | YES | No | CRC in full CPU mode | - |
DDR | R5F | YES | No | Tested LPDDR4 at 400MHz frequency. | - |
ECAP | R5F | YES | No | Frequency, Duty cycle, interrupt mode | PWM mode not tested |
EPWM | R5F | YES | No | Different Frequency, Duty cycle, interrupt mode, Deadband and chopper module | Tripzone module not tested |
EQEP | R5F | YES | No | Signal Frequency and Direction, interrupt mode | - |
FSI (RX/TX) | R5F | YES | No | RX, TX, polling, interrupt mode, single/dual lanes | - |
GPIO | R5F, M4F, A53 | YES | No | Basic input/output, GPIO as interrupt | GPIO as interrupt is not tested for A53. |
GTC | R5F, A53 | NA | No | Enable GTC, setting FID (Frequency indicator) | - |
I2C | R5F, M4F, A53 | YES | No | Master mode, basic read/write, polling and interrupt mode | Slave mode not supported. M4F not tested due to EVM limitation |
IPC Notify | R5F, M4F, A53 | YES | No | Low latency IPC between RTOS/NORTOS CPUs | - |
IPC Rpmsg | R5F, M4F, A53 | YES | No | RPMessage protocol based IPC for all R5F, M4F, A53 running NORTOS/FreeRTOS/Linux | - |
MCAN | R5F | YES | No | RX, TX, interrupt and polling mode | - |
MCSPI | R5F, M4F | YES | Yes | Master/Slave mode, basic read/write, polling, interrupt and DMA mode | - |
MDIO | R5F | NA | No | Register read/write, link status and link interrupt enable API | - |
MMCSD | R5F | YES | Yes | Raw read/write and file I/O on MMCSD0 eMMC, and MMCSD1 SD. eMMC tested till HS SDR mode (8-bit data, 52 MHz), SD tested till SD HS mode (4-bit, 25 MHz) | Interrupt mode not tested |
OSPI | R5F | YES | Yes | Read direct, Write indirect, Read/Write commands, DMA for read, PHY Mode | Interrupt mode not supported |
PCIe | R5F | YES | No | Buffer Transfer between EP and RC modes. Legacy interrupt | MSI and MSIx capability |
Pinmux | R5F, M4F, A53 | YES | No | Tested with multiple peripheral pinmuxes | - |
PRUICSS | R5F | YES | No | Tested with Ethercat, EtherNet/IP, IO-Link, ICSS-EMAC, HDSL, EnDat | - |
SOC | R5F, M4F, A53 | YES | No | lock/unlock MMRs, get CPU clock, CPU name, clock enable, set frequency, SW Warm/POR Reset, Address Translation | - |
Sciclient | R5F, M4F, A53 | YES | No | Tested with clock setup, module on/off | - |
SPINLOCK | R5F, M4F, A53 | NA | No | Lock, unlock HW spinlocks | - |
UART | R5F, M4F, A53 | YES | Yes | Basic read/write, polling, interrupt mode, | HW flow control not tested. DMA mode not supported |
UDMA | R5F, A53 | YES | Yes | Basic memory copy, SW trigger, Chaining | - |
WDT | R5F, A53 | YES | No | Interrupt after watchdog expiry | Reset not supported |
Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested |
LwIP | R5F | YES | FreeRTOS | TCP/UDP IP networking stack with and without checksum offload enabled, DHCP, ping, TCP iperf, TCP/UDP IP | Other LwIP features, performance and memory optimizations pending, more robustness tests pending, checksum offload with VLAN_Tag |
Ethernet driver (ENET) | R5F | YES | FreeRTOS | Ethernet as port using CPSW and ICSS, Layer 2 MAC, Layer 2 PTP Timestamping, CPSW Switch, Policer, MDIO Manual Mode, independent ICSSG and CPSW drivers execution on different R5 cores | Independent ICSSG and CPSW drivers execution on same R5 cores not supported |
ICSS-EMAC | R5F | YES | FreeRTOS | Tested switch mode with ethernetip_adapter_demo and hsr_prp_demo examples | EMAC mode, VLAN/Multicast Filtering |
ICSS TimeSync | R5F | NO | FreeRTOS | Tested E2E mode with ethernetip_adapter_demo examples | P2P mode, Transparent Clock mode |
ID | Head Line | Module | Applicable Releases | Applicable Devices | Resolution/Comments |
MCUSDK-6954 | EIP_DLR_processDLRFrame API fails on large DLR Sign-On Frames | EtherNet/IP Adapter FWHAL | 7.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-8053 | GTC read operation return incorrect values intermittently due tonon atomic read | SOC | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-8039 | CPSW: Syscfg should not have two instances of CPSW for enabling both RGMIIs | CPSW | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-7371 | [McSPI] : SPI 3 pin mode without CS pin selected in Sysconfig reports build error | McSPI | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-7304 | CPSW: LWIP example doesn't work on port 2 | CPSW | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-5867 | Enet - LwIP ICSSG example build error with CCS | Enet | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-5726 | CPSW and sa2ul cannot be used together in a project via syscfg | CPSW & Security | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4368 | Enet - running CPSW and ICSSG together fails | Enet | 8.2.0 onwards | AM243x | Fixed |
MCUSDK-5474 | SBL_OSPI crashes while trying to read CSL_secProxyGetMaxMsgSize in Sciclient_waitForBootNotification | SBL | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-5444 | Not able to define Pinmux configuration for both PRU cores | ICSS | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4531 | USB CDC-echo example echo_serial_port on port 1 some times fails | USB | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4530 | USB communication stops when the data packet size is over endpoint size | USB | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4430 | CPSW: Device lockup when reading CPSW registers | CPSW | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4342 | EEPROM template not able to handle multiple EEPROM config with same device type | EEPROM | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4080 | DDR_init call after warm reset causes crash in System | DDR | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4050 | Long CS assert/deassert delay before and after the MCSPI data transfer | McSPI | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-2409 | MCRC CRC_setPSASeedSig() API sets mode to DATA | CRC | 8.1.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-4346 | Incorrect number of external port in syscfg template file | ICSS | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-5472 | S_PC_DATA should be used instead of PC_DATA for short message write functionality | HDSL | 8.2.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-6207 | A53x, Linux references in documentation | Common | 8.3.0 onwards | AM64x, AM243x | Fixed |
MCUSDK-7363 | [enet] Documentation of file name incorrect in sysconfig generated file | Enet | 8.03.00 onwards | AM64x, AM243x | Fixed |
ID | Head Line | Module | Applicable Releases | Applicable Devices | Workaround |
MCUSDK-626 | DMA not working with ADC FIFO 1 | ADC | 7.3.0 onwards | AM64x, AM243x | Use ADC FIFO 0 |
MCUSDK-1016 | Semaphore does not function as expected when "post" call is present in multiple ISRs at different priorities | DPL | 7.3.0 onwards | AM64x, AM243x | Interrupt nesting should be disabled. SDK disables interrupt nesting by default. |
MCUSDK-1900 | UART Hardware Flow Control is not working | UART | 7.3.0 onwards | AM243x | - |
MCUSDK-2113 | [Docs] Sysfw RM/PM documentation doesn't specify AM243x | Docs | 8.0.0 onwards | AM243x | - |
MCUSDK-2319 | 2 PRU(ICSS) driver instances are added while changing Enet ICSSG instance to ICSSG0 in SysConfig | SYSCFG | 8.1.0 onwards | AM64x, AM243x | Please remove the extra one manually |
MCUSDK-2409 | MCRC CRCSetPSASeedSig() API sets channel mode to DATA capture | CRC | 8.1.0 onwards | AM64x | |
MCUSDK-2419 | MCSPI TX Only mode is not functional in DMA mode | MCSPI, UDMA | 8.2.0 onwards | AM64x, AM243x | Use TX/RX mode and ignore RX. |
MCUSDK-2715 | PKA ECDSA sign verify is not working for P-521 and BrainPool P-512R1 curves | SECURITY | 8.2.0 onwards | AM64x, AM243x | - |
MCUSDK-3626 | Enet: Phy tuning is not done correctly on AM64x/AM243x and AM263x platforms | Enet | 8.1.0 onwards | AM64x, AM243x | PHY delay is not tuned but set to value based on limited testing on a small set of boards.If packet drops are still seen, we can force the phy to set to 100mbps.Make below change in application code: linkCfg->speed = ENET_SPEED_100MBIT; linkCfg->duplexity = ENET_DUPLEX_FULL; |
MCUSDK-4379 | Low Tx side throughput seen when tested using iperf application | HSR-PRP | 8.3.0 | AM64x, AM243x |
Replace mcu_plus_sdk\source\networking\lwip\lwip-config\am64x\lwipopts.h and mcu_plus_sdk\source\networking\lwip\lwip-config\am64x\lwippools.h from MCU PLUS SDK 8.2.0 release and rebuild lwip_freertos, lwip-contrib and icss_emac_lwip_if libraries.
|
MCUSDK-4527 | USB recognition error occurs when USB conncect/disconnect executed repeatedly | SBL Linux | 8.2.0 | AM64x, AM243x | - |
MCUSDK-4575 | ENET LWIP ICSSG Switch mode External Phy management is not functional when 2 ports are enabled | ICSSG, Enet | 8.3.0 | AM64x, AM243x | - |
MCUSDK-6318 | Enet icssg - dhcp functionality unstable | Enet, ICSS | 8.3.0 | AM243x | - |
MCUSDK-7905 | EtherNet/IP : MDIO access can have race condition due to two parallel PHY drivers | Ethernet/IP Adapter | 8.3.0 | AM64x | - |
MCUSDK-8106 | 8MHZ endat encoder showing CRC failure | ENDAT | 8.4.0 | AM64x | - |
MCUSDK-8108 | EtherNet/IP : PTP Device is unable to keep offset under 1000 ns | Ethernet/IP Adapter | 8.4.0 | AM64x, AM243x | Value of OFFSET_THRESHOLD_FOR_RESET is set to 10000 ns by default in SDK. |
MCUSDK-8239 | EtherNet/IP : MDIO Manual Mode is not supported | Ethernet/IP Adapter | 8.4.0 | AM64x, AM243x | MDIO Manual Mode is the work-around for issue "i2329 - MDIO: MDIO interface corruption (CPSW and PRU-ICSS)" (described in AM64x/AM243x Processor Silicon Revision 1.0, 2.0 (Rev. E)) |
MCUSDK-8242 | EtherCAT : MDIO Manual Mode is not supported in ethercat_slave_demo examples | EtherCAT Slave | 8.4.0 | AM64x, AM243x | MDIO Manual Mode is the work-around for issue "i2329 - MDIO: MDIO interface corruption (CPSW and PRU-ICSS)" (described in AM64x/AM243x Processor Silicon Revision 1.0, 2.0 (Rev. E)). Please note that the work-around is available for ethercat_slave_beckhoff_ssc_demo examples. |
MCUSDK-8243 | EtherNet/IP : Examples do not work on HS-FS devices | Ethernet/IP Adapter | 8.4.0 | AM64x, AM243x | - |
MCUSDK-8234 | HSR/PRP - PTP Device is unable to keep offset under 1000 ns | HSR-PRP | 8.4.0 | AM64x, AM243x | - |
MCUSDK-8236 | HSR/PRP is not functional in rgmii mode | HSR-PRP | 8.4.0 | AM64x, AM243x | - |
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.