AM64x MCU+ SDK  08.00.00
Release Notes 08.00.00

Attention
Also refer to individual module pages for more details on each feature, unsupported features, important usage guidelines.
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 no-RTOS 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
All SW modules will not work on M4F. M4F support for a module will be explicitly called out.

New in this Release

Feature Module
EtherCAT, EtherNet/IP and IO-Link examples Industrial Protocols
LwIP with ethernet driver (ENET) for CPSW and ICSS (alpha quality) LwIP, ENET
Flash discovery using SFDP via OSPI diagnostic example OSPI, Flash
CRC example support CRC
McSPI 8-bit data transfer performance example McSPI
FreeRTOS task and CPU load measurement DPL, FreeRTOS

Device and Validation Information

SOC Supported CPUs EVM Host PC
AM64x R5F, M4F AM64x GP EVM (referred to as am64x-evm 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 10.3.1
SysConfig R5F, M4F 1.8.1, build 1900
TI ARM CLANG R5F, M4F 1.3.0.LTS
FreeRTOS Kernel R5F, M4F 10.4.3
Tiny USB R5F 0.10.0
LwIP R5F 2.12.2

Key Features

OS Kernel

OS Supported CPUs SysConfig Support Key features tested Key features not tested / NOT supported
FreeRTOS Kernel R5F, M4F NA Task, Task notification, interrupts, semaphores, mutexs, timers, event groups. ROV views in CCS IDE, Task load measurement using FreeRTOS run time statistics APIs. -
FreeRTOS POSIX R5F, M4F NA pthread, mqueue, semaphore, clock -
NO RTOS R5F, M4F NA See Driver Porting Layer (DPL) below -

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 YES FreeRTOS, NORTOS Cache write back, invalidate, enable/disable -
Clock R5F, M4F YES FreeRTOS, NORTOS Tick timer at user specified resolution, timeouts and delays -
CycleCounter R5F, M4F NA FreeRTOS, NORTOS Measure CPU cycles using CPU specific internal counters -
Debug R5F, M4F YES FreeRTOS, NORTOS Logging and assert to any combo of: UART, CCS, shared memory -
Heap R5F, M4F NA FreeRTOS, NORTOS Create arbitrary heaps in user defined memory segments -
Hwi R5F, M4F YES FreeRTOS, NORTOS Interrupt register, enable/disable/restore -
MPU R5F, M4F YES FreeRTOS, NORTOS Setup MPU and control access to address space -
Semaphore R5F, M4F NA FreeRTOS, NORTOS Binary, Counting Semaphore, recursive mutexs with timeout -
Task R5F, M4F NA FreeRTOS Create, delete tasks -
Timer R5F, M4F 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. All R5F's, M4F boot. RPRC, multi-core image format, DDR init SBL booting Linux. SBL booting A53.

SOC Device Drivers

Peripheral Supported CPUs SysConfig Support Key features tested Key features not tested / NOT supported
ADC R5F YES Single conversion (one-shot mode), interrupt mode, DMA mode Continuous conversion not tested
CRC R5F YES CRC in full CPU mode -
DDR R5F YES Tested LPDDR4 at 400MHz frequency. -
ECAP R5F YES Frequency, Duty cycle, interrupt mode PWM mode not tested
EPWM R5F YES Different Frequency, Duty cycle, interrupt mode, Deadband and chopper module Tripzone module not tested
EQEP R5F YES Signal Frequency and Direction, interrupt mode -
FSI (RX/TX) R5F YES RX, TX, polling, interrupt mode, single/dual lanes -
GPIO R5F, M4F YES Basic input/output, GPIO as interrupt -
I2C R5F, M4F YES Master mode, basic read/write, polling and interrupt mode Slave mode not supported. M4F not tested due to EVM limitation
IPC Notify R5F, M4F YES Low latency IPC between RTOS/NORTOS CPUs -
IPC Rpmsg R5F YES RPMessage protocol based IPC, All R5F and Linux A53 cores M4F core not supported
MCAN R5F YES RX, TX, interrupt and polling mode -
MCSPI R5F, M4F YES Master/Slave mode, basic read/write, polling, interrupt mode DMA mode not supported
MDIO R5F NA Register read/write, link status and link interrupt enable API -
OSPI R5F YES Read direct, Write indirect, Read/Write commands, DMA for read, PHY Mode Interrupt mode not supported
Pinmux R5F, M4F YES Tested with multiple peripheral pinmuxes -
PRUICSS R5F YES Tested with Ethercat, EtherNet/IP, IO-Link, ICSS-EMAC, HDSL, EnDat More protocols integration tests pending
SOC R5F, M4F YES lock/unlock MMRs, get CPU clock, CPU name, clock enable, set frequency -
Sciclient R5F, M4F YES Tested with clock setup, module on/off -
SPINLOCK R5F, M4F NA Lock, unlock HW spinlocks -
UART R5F, M4F YES Basic read/write, polling, interrupt mode, HW flow control not tested. DMA mode not supported
UDMA R5F YES Basic memory copy, SW trigger, Chaining -

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 Slave example -
Flash R5F YES XSPI, OSPI, QSPI based flash, Octal, Quad mode, DDR mode All vendor flash types not tested
LED R5F YES GPIO , I2C IO expander based LED control, I2C based industrial LEDs(TPIC2810) -

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 -

Industrial Protocols

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
EtherCAT Slave FWHAL R5F NO FreeRTOS Tested with ethercat_slave_beckhoff_ssc_demo example Reset isolation
EtherCAT Slave Evaluation Stack R5F NO FreeRTOS Tested with ethercat_slave_simple_demo, ethercat_slave_cia402_demo, and ethercat_slave_ctt_demo examples -
EtherNet/IP Adapter FWHAL R5F NO FreeRTOS Tested with ethernetip_adapter_mii_demo and ethernetip_adapter_rgmii_demo examples DLR, PTP, Multicast Filtering
EtherNet/IP Adapter Evaluation Stack R5F NO FreeRTOS Tested with ethernetip_adapter_mii_demo and ethernetip_adapter_rgmii_demo examples -
IO-Link Master Evaluation Stack R5F NO FreeRTOS Tested with iolink_master_demo example -
Profinet Device FWHAL R5F NO FreeRTOS Only compiled Not tested

Motor Control

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
Position Sense HDSL R5F YES FreeRTOS, NORTOS Freerun mode, Sync mode -
Position Sense EnDAT R5F YES FreeRTOS, NORTOS Single channel, Multi channel, Continuous mode -

Networking

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
LwIP R5F NO FreeRTOS TCP/UDP IP networking stack, DHCP, ping, TCP iperf, TCP/UDP IP Other LwIP features, performance and memory optimizations pending, more robustness tests pending
Ethernet driver (ENET) R5F NO FreeRTOS Ethernet as port using CPSW and ICSS Ethernet as switch
ICSS-EMAC R5F YES FreeRTOS Tested switch mode with ethernetip_adapter_mii and ethernetip_adapter_rgmii examples EMAC mode, VLAN/Multicast Filtering
ICSS TimeSync R5F NO FreeRTOS Only compiled, not tested Not tested

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

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
MCUSDK-906 MCAN and ADC not functional in SBL UART bootmode with DDR enabled Bootloader, DDR 7.3.2 AM64x, AM243x Fixed
MCUSDK-867 Rx is not selected in the pins for EtherCAT and Ethernet pinmux from SysConfig EtherCAT Slave FWHAL, ICSS-EMAC 7.3.0, 7.3.1 AM64x, AM243x Fixed
MCUSDK-937 16 bits accessed for 8 bit value of collision queue status in ICSS EMAC ICSS-EMAC 7.3.0, 7.3.1 AM64x, AM243x Fixed
MCUSDK-1278 PRUICSS_clearEvent function should not be RMW PRUICSS 7.3.0, 7.3.1 AM64x, AM243x Fixed
MCUSDK-317 OSPI: DMA reads fails after a flash write which was not block aligned OSPI 7.3.0 onwards AM64x, AM243x Fixed
MCUSDK-683 UDMA: DMA from SRAM to M4F IRAM/DRAM fails UDMA, TIFS 7.3.0 onwards AM64x, AM243x Fixed
MCUSDK-892 USB boot with SBL OSPI fails USB, SBL, OSPI 7.3.2 AM64x, AM243x Fixed
MCUSDK-877 SYSFW reserved memory in MSRAM BANK 7 not accessible SBL, SCICLIENT 7.3.1 AM64x, AM243x Fixed
MCUSDK-1232 SYSCFG does not support generic PHY for ICSS and CPSW ICSS, CPSW 7.3.2 AM64x, AM243x Fixed
MCUSDK-1361 SYSCFG doesn't allow full MPU configuration flexibility DPL, SYSCFG 7.3.2 AM64x, AM243x Fixed
MCUSDK-880 Project spec and post build steps are not CCS cloud friendly CCS 7.3.1 AM64x, AM243x Fixed
MCUSDK-915 DMA Enabled examples failing when booted using SBL OSPI SBL, OSPI, FLASH 7.3.1 AM64x, AM243x Fixed
MCUSDK-942 ECAP CSL Capture Event Counter Reset Function Fails ECAP 7.3.0 onwards AM64x, AM243x Fixed
MCUSDK-1010 Last character sometimes gets corrupted when UART driver is closed UART 7.3.0 onwards AM64x, AM243x Fixed
MCUSDK-1159 CCS script load_dmsc.js fails when trying to execute Init_M4() GEL function CCS 7.3.2 AM64x, AM243x Fixed
MCUSDK-1161 OSPI DMA low latency application fails in CCS test setup OSPI, FLASH 7.3.2 AM64x, AM243x Fixed
MCUSDK-1370 FreeRTOS: operations from stdatomics.h do not work with FreeRTOS task switch FreeRTOS 7.3.2 AM64x, AM243x Fixed

Known Issues

ID Head Line Module Applicable Releases Applicable Devices Workaround
MCUSDK-750 ICSS PRU GPIO pins are not supported by SYSCFG SysCfg 7.3.0 onwards AM64x, AM243x Perform manual pinmux
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-1564 time.h APIs do not work as expected with SBL OSPI SBL, OSPI 7.3.0 onwards AM64x, AM243x Use timestamps from HW timer
MCUSDK-1572 OSPI: Flash IO and Flash DMA examples fail for AM243x-LP when built from CCS in release mode OSPI 7.3.0 onwards AM64x, AM243x Build via makefile or try the CCS build in debug mode
MCUSDK-1598 LWIP: UDP iperf test results in assert due to memory alloc failure LWIP 8.0 onwards AM64x, AM243x NONE
MCUSDK-1599 LWIP: LwIP Stack diagnostics prints like assert and printf are not redirected to DebugP_log, i.e UART terminal LWIP 8.0 onwards AM64x, AM243x look at CCS console for these logs

Limitations

ID Head Line Module Reported in Release Applicable Devices Workaround
MCUSDK-208 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.

Examples

Module Affected API Change Additional Remarks
EtherCAT - Bekchoff stack based example is moved from examples\networking to examples\industrial_protocols TBD

OS Kernel

Module Affected API Change Additional Remarks
FreeRTOS Kernel FreeRTOS Config .h configOPTIMIZE_FOR_LATENCY set to 0 by default to allow CPU load measurement to be enabled by default

Industrial Protocols

Module Affected API Change Additional Remarks
EtherCAT Slave FWHAL, EtherNet/IP Adapter FWHAL, Profinet Device FWHAL - Sources are moved from source\networking to source\industrial_protocols TBD