AM243x MCU+ SDK  10.01.00
Release Notes 10.01.00

Attention
1. There are known issues about increased build time for networking examples having Link Time Optimizations (LTO) enabled. See Known Issues below.
2. Also refer to individual module pages for more details on each feature, unsupported features, important usage guidelines.
3. A53 support is applicable for AM64x only. It is NOT applicable for AM243x.
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 in both FreeRTOS and NORTOS environment.
Unless noted otherwise, the SW modules would work on any of the R5F's present on the SOC.
Unless noted otherwise, the SW modules would work on all supported EVMs
M4F drivers support only MCU domain peripheral and peripheral instance while R5/A53 supports MAIN domain peripheral and peripheral instance.
Attention
Klockwork Static Analysis report is not updated for this release

New in this Release

Feature Module
LLD drivers for OSPI, MMCSD and MCAN are added Drivers
SBL shows an example usage of DDR QoS support Drivers
Secureboot support from OSPI Bootloader
Example to demonstrate root of trust switching Examples
PRU-ICSS Ethernet firmware is updated to version REL.PRU-ICSS-ETHERNET-SWITCH_02.02.15.00 Ethernet
Ethernet firmware - Local injection handle port block state (MRP requirement) Ethernet

Device and Validation Information

SOC Supported CPUs Boards Host PC
AM243x R5F, M4F 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, A53 12.8.1
SysConfig R5F, M4F, A53 1.22.0, build 3893
TI ARM CLANG R5F, M4F 4.1.0.LTS
GCC AARCH64 A53 9.2-2019.12
GCC ARM R5F 7-2017-q4-major (AM64x only)
FreeRTOS Kernel R5F, M4F, A53 11.1.0
FreeRTOS SMP Kernel A53 202110.00-SMP
Tiny USB R5F 0.14.0
LwIP R5F STABLE-2_2_0_RELEASE
Mbed-TLS R5F mbedtls-2.13.1
DMSC Firmware DMSC v10.01.08

Key Features

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.
Feature Module
GUI for UART Uniflash Tool (No support for EMMC flashing) Bootloader

Features not supported in release

AM243X LAUNCHPAD not tested/not supported features

Below features are not support on AM243X LAUNCHPAD due to SOC or board constraints,

  • DDR is not supported on the AM243X 11x11 SOC used in AM243X LAUNCHPAD.
  • I2C temperature sensor example not validated, due to board limitation.
  • M4F examples for UART, MCSPI and GPIO not validated, due to board limitation.

OS Kernel

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.

Driver Porting Layer (DPL)

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 -

Secondary Bootloader (SBL)

Module Supported CPUs SysConfig Support OS support Key features tested Key features not tested / NOT supported
Bootloader R5FSS0-0 YES NORTOS Boot modes: OSPI, OSPI XIP, UART, SD. All R5F's, M4F, A53 NORTOS/FreeRTOS/Linux boot. RPRC, multi-core image format, DDR init SBL OSPI XIP for A53

SOC Device Drivers

Peripheral Supported CPUs SysConfig Support DMA Supported Key features tested Key features not tested / NOT supported
ADC R5F, A53 YES Yes 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, A53 YES No Frequency, Duty cycle, interrupt mode -
EPWM R5F, A53 YES No Different Frequency, Duty cycle, interrupt mode, Deadband and chopper module Tripzone module not tested
EQEP R5F, A53 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 -
GTC R5F, A53 NA No Enable GTC, setting FID (Frequency indicator) -
I2C R5F, M4F, A53 YES No Controller mode, basic read/write, polling and interrupt mode Target 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, A53 YES No RX, TX, interrupt and polling mode -
MCSPI R5F, M4F, A53 YES Yes Controller/Peripheral 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, A53 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, A53 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

Software Diagnostic Library (SDL)

SDL Module Supported CPUs SysConfig Support
ESM M4F, R5F NO
MCRC M4F, R5F NO
RTI M4F, R5F NO
DCC M4F, R5F NO
VTM M4F, R5F NO
STOG M4F, R5F NO
PBIST M4F, R5F NO
MTOG M4F NO
POK M4F, R5F NO
ECC M4F, R5F NO
ROM Checksum R5F NO

Board Device Drivers

Peripheral Supported CPUs SysConfig Support Key features tested Key features not tested
EEPROM R5F YES I2C based EEPROM -
ETHPHY R5F YES Ethernet Phy configuration for EtherCAT SubDevice example -
Flash R5F YES XSPI, OSPI, QSPI based flash, Octal, Quad mode, DDR mode All vendor flash types not tested
LED R5F, A53 YES GPIO , I2C IO expander based LED control, I2C based industrial LEDs(TPIC2810) -

File System

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
FreeRTOS+FAT R5F YES FreeRTOS, NORTOS File read, write, create. FAT partition and mounting File I/O with FreeRTOS

CMSIS

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
CMSIS DSP R5F NA FreeRTOS, NORTOS Basic math, complex math, controller, fast math, filtering, Matrix, statistics, transform -

Networking

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
TSN R5F NO FreeRTOS gPTP IEEE 802.1 AS-2020 compliant gPTP stack, End Nodes and Bridge mode support, YANG data model configuration Multi-Clock Domain
A53 NO FreeRTOS
LwIP R5F YES FreeRTOS, NORTOS TCP/UDP IP networking stack with and without checksum offload enabled, TCP/UDP IP networking stack with server and client functionality, basic Socket APIs, netconn APIs and raw APIs, DHCP, ping, TCP iperf, scatter-gather, DSCP priority mapping, LwIP bridge, shared memory driver Other LwIP features
A53 YES FreeRTOS
Ethernet driver (ENET) R5F YES FreeRTOS, NORTOS Ethernet as port using CPSW, MAC loopback and PHY loopback, Layer 2 MAC, Packet Timestamping, CPSW Switch, Policer and Classifier, MDIO Manual Mode, CBS (IEEE 802.1Qav) on CPSW, IET (IEEE 802.1Qbu) on CPSW, Strapped PHY (Early Ethernet), cut through switch on CPSW RMII mode
A53 YES FreeRTOS
Mbed-TLS R5F NO FreeRTOS Tested software cryptography after porting, used mbedTLS with LwIP to implement HTTPS server Hardware offloaded cryptography

USB

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
USB SoC Porting Layer R5F YES FreeRTOS, NORTOS USB 2.0 device mode USB 3.0
USB Device Driver R5F NO FreeRTOS, NORTOS USB 2.0 device mode USB Host driver
TinyUSB Core and CDC Driver R5F NO FreeRTOS, NORTOS USB device with CDC class USB Host, other USB device class drivers
TinyUSB Core and DFU Driver R5F NO FreeRTOS, NORTOS USB device with DFU class USB Host, other USB device class drivers

SECURITY

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
SA2UL AES R5F YES NORTOS AES CBC-128 encryption and decryption, AES CBC-256 encryption and decryption, AES ECB-128 encryption and decryption, AES ECB-256 encryption and decryption, AES CMAC-128, AES CMAC-256 -
SA2UL SHA R5F YES NORTOS SHA 512 single shot and multi-shot, SHA 256 single shot and multi-shot, HMAC SHA-256, HMAC SHA-512, HMAC SHA-1 -
SA2UL RNG R5F YES NORTOS RNG generate random number with size of 4 words(128 bit) -
SA2UL PKA R5F YES NORTOS RSA Encryption and Decryption support upto 4k bit, RSA Signing and Verification support upto 4k bit, ECDSA Signing and Verification support with P-256 and P-384 curves -

Demos

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
Benchmark demo 4xR5F's YES NORTOS CFFT, FIR and FOC benchmarks ADC/PWM benchmark

Fixed Issues

ID Head Line Module Applicable Releases Applicable Devices Resolution/Comments
EXT_SITMPUSW-6 Incorrect naming of the macro MAILBOX_MAX_MSGS_IN_FIFO in IPC Notify IPC 07.03.00 onwards AM64x, AM243x Update the macro name
EXT_SITMPUSW-7 OSPI_phyReadAttackVector API leaves the DAC enabled OSPI 07.03.00 onwards AM64x, AM243x Disable DAC mode at the end of function
EXT_SITMPUSW-1 CPU cache line size is wrongly documented DPL 07.03.00 onwards AM64x, AM243x Updated the documenation
EXT_SITMPUSW-8 Remove "Auto generated makefile" comments in the makefiles Build 07.03.00 onwards AM64x, AM243x Remove the autogenerated comments
EXT_SITMPUSW-9 Calling the vTaskGetRunTimeStats,after some time, it will exceed 100% CPU usage Kernel 07.03.00 onwards AM64x, AM243x This issue is fixed on 11.1.0 FreeRTOS kernel
EXT_SITMPUSW-10 SBL_OSPI_LINUX changes the DEVSTAT register to SD card bootmode SBL 09.02.01 AM64x, AM243x Remove updating DEVSTAT
EXT_SITMPUSW-11 MCAN loopback DMA example is broken MCAN 09.00.00 AM64x, AM243x Resolve the issue along with LLD implementation
EXT_SITMPUSW-12 A wrong counter is used for Event 2 in PMU configuration PMU 08.06.00 AM64x, AM243x Remove the wrong configuration
EXT_SITMPUSW-13 UART: Inconsistent data flush for Polling, Interrupt and DMA mode UART 09.01.00 AM64x, AM243x Fix the driver
EXT_SITMPUSW-14 JTAG Flasher does not enable DAC mode after flashing the image McSPI 09.01.00 AM64x, AM243x Enable DAC mode
EXT_SITMPUSW-15 Wrong validation checks for Sysfw_boardcfg BoardConfig 09.02.00 AM64x, AM243x Fixed
EXT_SITMPUSW-16 Not able to select 3pin/4pin mode when mcspi is configured as Single Peripheral MCSPI 10.00.00 AM64x, AM243x Fixed
EXT_SITMPUSW-17 Not able to open example.syscfg file for M4f project Sysconfig 10.00.00 AM64x, AM243x Fixed
EXT_SITMPUSW-18 sciclient_ccs_init default binary failing to run on SOC Examples 10.00.00 AM64x, AM243x Rebuild the binary
EXT_SITMPUSW-19 Not able to open drivers for MCU_I2C I2C 10.00.00 AM64x, AM243x Fixed
EXT_SITMPUSW-20 No implementation for portASSERT_IF_IN_ISR docs 07.03.00 AM64x, AM243x Added the implementation
PINDSW-7087 Ethernet: IET: Frame preemption MAC verify fails Ethernet (ICSSG) 09.00.00 AM64x, AM243x None
PINDSW-8229 Ethernet: FDB: FDB entries missing with link up/down activity Ethernet (ICSSG) 10.00.00 AM64x, AM243x None
PINDSW-8187 Ethernet: FDB: MC frame is not received when only specific port bit is set in FID_C2 (Applicable only for DUAL MAC mode) Ethernet (ICSSG) 10.00.00 AM64x, AM243x None
PINDSW-8086 Ethernet: FDB: Port blocked/disabled usecase for special frame Ethernet (ICSSG) 10.00.00 AM64x, AM243x None
PINDSW-8022 Ethernet: TAPRIO: Moved base time usage into the firmware Ethernet (ICSSG) 10.00.00 AM64x, AM243x None
PINDSW-7988 Ethernet: CT: Cut-thru can not be verified (Missing PA statistics) Ethernet (ICSSG) 09.02.00 AM64x, AM243x None
PINDSW-8273 Ethernet: 10M: Link Status Valid flag is not set in case of 100M/1G Ethernet (ICSSG) 10.00.00 AM64x, AM243x None
SYSFW-6426 Ownership of a firewall region can be transferred to an invalid host DMSC 07.03.00 AM64x, AM243x Fixed
SYSFW-6432 Set device API doesn't return Error when PD is in transition state DMSC 07.03.00 AM64x, AM243x Fixed
EXT_SITMPUSW-54 MII mode via Sysconfig for Ethernet ICSSG is not functional Ethernet 09.02.00 AM64x, AM243x Fixed

Known Issues

ID Head Line Module Applicable Releases Applicable Devices Workaround
EXT_SITMPUSW-22 Pcie_benchmark, Pcie_buf_transfer, Pcie_legacy_irq, Pcie_msi_irq, Pcie_msix_irq and sbl_pcie are broken on 9.2.1 release PCIE 9.2.1 onwards AM64x, AM243x None.
EXT_SITMPUSW-21 DMA not working with ADC FIFO 1 ADC 7.3.0 onwards AM64x, AM243x

Use ADC FIFO 0

EXT_SITMPUSW-23 [Docs] Sysfw RM/PM documentation doesn't specify AM243x Docs 8.0.0 onwards AM243x -
EXT_SITMPUSW-24 PKA ECDSA sign verify is not working for P-521 and BrainPool P-512R1 curves SECURITY 8.2.0 onwards AM64x, AM243x -
EXT_SITMPUSW-25 Last 512KB of memory is not accessible in dev boot mode flow SBL 8.4.0 AM64x, AM243x Use other boot modes
EXT_SITMPUSW-26 PCIe MSI error when connected to Linux Root Complex PCIe 8.6.0 AM64x, AM243x -
SYSFW-6621 No available region to configure for Firewall ID 24 DMSC 7.3.0 onwards AM64x, AM243x -
SYSFW-7781 Get device API does not return error when the LPSC is in transition state DMSC 7.3.0 onwards AM64x, AM243x -
EXT_SITMPUSW-53 Ethernet CPSW Layer-2 example overrides syscfg-GUI ALE configurations Ethernet 09.01.00 AM64x, AM243x -
EXT_SITMPUSW-55 AM64x: ENET : A53 : TCP Throughput drop in iperf application running on FreeRTOS A53 core Ethernet 10.01.00 AM64x

Issue is seen only with 1Gbps Full Duplex link speed. Any other link speed such as 100 Mbps link speed shall work seemlessly

EXT_SITMPUSW-56 AM64X: ENET: Data inconsitency with MAC loopback application with FreeRTOS running on A53 core Ethernet 10.01.00 AM64x Issue is seen in release mode. In debug mode it works fine.
PROC_SDL-8875 ECC is not supported for an instance SDL_PCIE0_PCIE_G2X1_64_CORE_CORE_ECC_AGGR SDL 10.01.0 onwards AM243x -
PROC_SDL-8861 ECC is not supported for an instance due to firewall: SDL_DMSC0_DMSC_LITE SDL 10.01.0 onwards AM64x/AM243x -
PROC_SDL-8891 POK Example is failing on M4F core DMSC 10.01.0 onwards AM243x Run on R5F core

Errata

ID Head Line Module SDK Status
i2278 MCAN: Message Transmit order not guaranteed from dedicated Tx Buffers configured with same Message ID MCAN Open
i2279 MCAN: Specification Update for dedicated Tx Buffers and Tx Queues configured with same Message ID MCAN Open
i2310 USART: Erroneous clear/trigger of timeout interrupt UART Implemented
i2311 USART: Spurious DMA Interrupts UART Implemented
i2312 MMCSD: HS200 and SDR104 Command Timeout Window Too Small MMCSD Open
i2313 GPMC: Sub-32-bit read issue with NAND and FPGA/FIFO GPMC Implemented
i2326 PCIe: MAIN_PLLx operating in fractional mode, which is required for enabling SSC, is not compliant with PCIe Refclk jitter limits PCIe Open
i2329 MDIO interface corruption, CPSW, ICSSG Open
i2331 CPSW: Device lockup when reading CPSW registers CPSW, SBL Implemented
i2345 CPSW: Ethernet Packet corruption occurs if CPDMA fetches a packet which spans across memory banks CPSW Implemented
i2401 CPSW: Host Timestamps Cause CPSW Port to Lock up CPSW Open
i2402 CPSW: Ethernet to Host Checksum Offload does not work CPSW Open

Limitations

ID Head Line Module Reported in Release Applicable Devices Workaround
EXT_SITMPUSW-27 gmake with -j can sometimes lock up Windows command prompt Build 7.3.0 AM64x, AM243x Use bash for windows as part of git for windows or don't use -j option

Upgrade and Compatibility Information

Attention
When migrating from Processor SDK RTOS, see Migration Guides for more details

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.

Compiler Options

Module Affected API Change Additional Remarks

Examples

Module Affected API Change Additional Remarks
Ethernet - Path for Ethernet examples has been changed from ${MCU_PLUS_SDK_PATH}/examples/networking to ${MCU_PLUS_SDK_PATH}/source/networking/enet/core/examples Refer Version Updates from earlier SDKs to Latest

OS Kernel

Module Affected API Change Additional Remarks

SOC Device Drivers

Module Affected API Change Additional Remarks

Networking

Module Affected API Change Additional Remarks