AM64x MCU+ SDK  12.00.00
Release Notes 12.00.00

Attention
1. Also refer to individual module pages for more details on each feature, unsupported features, important usage guidelines.
2. A53 support is applicable for AM64x only. It is NOT applicable for AM243x.
3. RPRC image format has been deprecated from this release. Multi Core ELF image format should be used. (Understanding Multicore ELF image format).
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
MCELF based bootloader support Bootloader
Drive strength adjustment capability in SW Pinmux
A53 core frequency is set to max frequency by default Bootloader
Add flash recovery mechanism OSPI

Device and Validation Information

SOC Supported CPUs EVM Host PC
AM64x R5F, M4F, A53 AM64x GP EVM (referred to as am64x-evm in code) Windows 10 64b or Ubuntu 18.04 64b
AM64x SK EVM (Limited examples are added) (referred to as am64x-sk in code)

Tools, Compiler and Other Open Source SW Module Information

Tools / SW module Supported CPUs Version
Code Composer Studio R5F, M4F, A53 20.4.0
SysConfig R5F, M4F, A53 1.26.0, build 4000
TI ARM CLANG R5F, M4F 4.0.4.LTS
GCC AARCH64 A53 9.2-2019.12
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

SDK Components

SYSFW / DMSC

Version 12.00.02
Release Notes LINK
User Guide LINK

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
A53 NORTOS support and A53 NORTOS examples DPL, NORTOS
A53 FreeRTOS support and A53 FreeRTOS examples DPL, FreeRTOS
SBL booting A53 NORTOS Bootloader
A53 FreeRTOS AMP mode and A53 AMP FreeRTOS examples DPL, FreeRTOS
GUI for UART Uniflash Tool (No support for EMMC flashing) Bootloader

Features not supported in release

Feature Module
NORTOS based Ethernet MAC and switch driver support for A53 core Ethernet

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
LBIST M4F 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
EXT_SITMPUSW-294 AM64: dhrystone_benchmark example for A53 core fails in debug mode Benchmarking
EXT_SITMPUSW-255 Sciclient driver uses incorrect context for TISCI_MSG_OPEN_DEBUG_FWLS DM
EXT_SITMPUSW-251 MCU+ SDK Example Projects using incorrect ARMv7 MPU Attributes for Peripheral Register Region Examples
EXT_SITMPUSW-301 OSPI_norFlashInit1s1s1s has an implementation of wait for 500 milliseconds instead of microseconds Flash
EXT_SITMPUSW-282 Sysconfig not generating code for GPIO Trigger GPIO
EXT_SITMPUSW-317 C++ code not working as expected on M4F M4FSS
EXT_SITMPUSW-318 OSPI flash memcpy for 64-bit systems Failing OSPI
EXT_SITMPUSW-280 OSPI Indac Mode Should Check for odd bytes OSPI
EXT_SITMPUSW-256 Incorrect calculation of rowColEnd in the ext_otp_writeMmr OTP
EXT_SITMPUSW-314 ROV view not working ROV
EXT_EP-13267 SDL ESM: Wrong instance argument in SDL_ESM_loInterruptHandler causing misidentification of ESM0 interrupts SDL-ESM

Known Issues

ID Head Line Module
EXT_SITMPUSW-322 IV is set incorrectly in the SA2UL driver -
EXT_SITMPUSW-153 MCU+ SDK CCS Project Build Generates Invalid/Redundant Boot Image Files Build
EXT_SITMPUSW-53 Ethernet CPSW example overrides syscfg-GUI ALE configurations CPSW
EXT_SITMPUSW-83 DPL - configure HwiP_MAX_INTERRUPTS based on SOC supported values DPL
EXT_SITMPUSW-24 [SA2UL][PKA] ECDSA Sign/verify not working with P-521 and BrainPool P-512R1 Curves ECDSA
EXT_SITMPUSW-81 MCU+ SDK: EPWM_tbTimebaseClkCfg does not choose the optimal pre-scaler combination EPWM
EXT_SITMPUSW-86 The configurations of GPIO interrupt routers are based on banks rather than individual pins. GPIO
EXT_SITMPUSW-325 IRQStatus Write To Clear GPTIMER
EXT_SITMPUSW-132 AM64X: ENET: Enet VLAN ICSSG Example throws assert ICSSG
EXT_SITMPUSW-82 AM64/AM243: M4F core getting hangs when doing IPC with Linux IPC
EXT_SITMPUSW-262 mmcsd_raw_io_emmc_lld example is not working MMCSD
EXT_SITMPUSW-273 AM64x PCIe as End Point throwing error when changing BAR aperture PCIE
EXT_SITMPUSW-26 AM64X PCIe MSI error when connected to Linux Root Complex PCIE
EXT_SITMPUSW-22 Pcie_benchmark, Pcie_buf_transfer, Pcie_legacy_irq, Pcie_msi_irq and Pcie_msix_irq are broken on 9.2.1 release PCIE
EXT_SITMPUSW-263 Design choice for Security Handover is not documented SBL
EXT_SITMPUSW-300 Authentication of appimage fails SBL
EXT_SITMPUSW-25 AM243x/AM64x: last 512KB of memory is not accessible in dev boot mode flow SBL
EXT_SITMPUSW-257 Roadmap for XIP Secure boot support XIP
EXT_EP-13068 AM64x: AM243x: ECC: Aggregator failures in ecc applications. SDL-ECC
EXT_EP-12276 ECC: Firewall related aggregators failures SDL-ECC
EXT_EP-13067 AM64x: PBIST: A53 forcebit power off failure in M4F applications SDL-PBIST

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.

The below table captures the list of migration document sections when migrating from one version to another. The migration for a particular module will be applicable, if you are migrating from older version listed to newer version listed on the table below.

Module Migration guide Older version Newer version
Examples Migrating examples to 11.01.00 from older versions<= 11.00.00 >= 11.01.00
Networking Version Updates from earlier SDKs to Latest<= 11.01.00 >= 11.02.00
OSPI_HLD OSPI HLD Migration Guide<= 11.01.00 >= 11.02.00
OSPI_LLD OSPI LLD Migration Guide<= 11.01.00 >= 11.02.00