- 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 explicitly noted otherwise, the SW modules would work in both FreeRTOS and no-RTOS environment.
Device and Validation Information
| SOC | Supported CPUs | EVM | Host PC |
| AM62P | MCU R5F, WKUP R5F | SK-AM62P-LP EVM (referred to as am62px-sk in code) | Windows 10 64b or Ubuntu 22.04 64b |
Features Added in This Release
- Note
- Update of OSPI tuning algorithm on this SDK causes increase in tuning time. Refer OSPI NOR Flash Performance
| Feature | Module |
| PADCFG drive strength adjustment through SYSCFG | Pinmux |
| LBIST/PBIST initiated in SBL EMMC | SBL |
| Enable WKUP-R5F ATCM | SBL |
| Watchdog support for DM R5/WKUP-R5F | WDT |
| Save/Restore of FPU registers on context switch enabled by default on A53 | FreeRTOS |
| MMCSD drive strength as a configurable option | MMCSD |
| Add 8S-8S-8S protocol support | OSPI |
| Route SecProxy event for MCU cores | DM |
| Interrupt mode in SCIClient | SCI Client |
| Move task stack allocation to application layer | SCI Server |
| Add WFI in MCU only mode to save power | LPM |
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 |
| Ethernet traffic sharing accross multiple cores, called Ethernet Firmware | Networking |
| C++ SUpport | NA |
Dependent Tools and Compiler Information
- Attention
- It is recommended to use the TIFS version provided with the release for ensuring compatibility between TIFS and device manager. Using the TIFS from different MCU+SDK release is not recommended and may cause TIFS/ DM functionality to break.
| Tools/Components | Supported CPUs | Version |
| Code Composer Studio | MCU-R5F, WKUP-R5F | 20.3.1 |
| SysConfig | MCU-R5F, WKUP-R5F | 1.24.2, build 4234 |
| TI ARM CLANG | MCU-R5F, WKUP-R5F | 4.0.1.LTS |
| GCC AARCH64 | A53 | 9.2-2019.12 |
| FreeRTOS Kernel | MCU-R5F, WKUP-R5F | 11.1.0 |
SDK Components
SYSFW / TIFS
| Version | 12.00.02 |
| Release Notes | LINK |
| User Guide | LINK |
Key Features
OS Kernel
| OS | Supported CPUs | SysConfig Support |
| FreeRTOS Kernel | MCU-R5F, WKUP-R5F | NA |
| FreeRTOS POSIX | MCU-R5F | NA |
| No RTOS | MCU-R5F, WKUP-R5F | NA |
Driver Porting Layer (DPL)
| Module | Supported CPUs | SysConfig Support | OS support |
| Address Translate | MCU-R5F, WKUP-R5F | Yes | FreeRTOS, NORTOS |
| Cache | MCU-R5F, WKUP-R5F | Yes | FreeRTOS, NORTOS |
| Clock | MCU-R5F, WKUP-R5F | Yes | FreeRTOS, NORTOS |
| CycleCounter | MCU-R5F, WKUP-R5F | NA | FreeRTOS, NORTOS |
| Debug | MCU-R5F, WKUP-R5F | Yes | FreeRTOS, NORTOS |
| Heap | MCU-R5F, WKUP-R5F | NA | FreeRTOS, NORTOS |
| Hwi | MCU-R5F, WKUP-R5F | Yes | FreeRTOS, NORTOS |
| MPU | MCU-R5F, WKUP-R5F | Yes | FreeRTOS, NORTOS |
| Semaphore | MCU-R5F, WKUP-R5F | NA | FreeRTOS, NORTOS |
| Task | MCU-R5F, WKUP-R5F | NA | FreeRTOS |
| Timer | MCU-R5F, WKUP-R5F | Yes | FreeRTOS, NORTOS |
Secondary Bootloader (SBL)
| SBL Mode | Supported CPUs | SysConfig Support | PHY Support | DMA Support | OS support |
| OSPI NOR | WKUP-R5F | Yes | Yes | Yes | NORTOS |
| EMMC | WKUP-R5F | Yes | NA | NA | NORTOS |
| UART | WKUP-R5F | Yes | NA | No | NORTOS |
SDL
| SDL Module | Supported CPUs | SysConfig Support |
| MCRC | MCU-R5F | No |
| ESM | MCU-R5F | No |
| VTM | MCU-R5F | No |
| DCC | MCU-R5F | No |
| ECC | MCU-R5F | No |
| RTI | MCU-R5F | No |
| POK | MCU-R5F | No |
| STOG | MCU-R5F | No |
| MTOG | MCU-R5F | No |
| PBIST | MCU-R5F | No |
| LBIST | MCU-R5F | No |
| ROM_CHECKSUM | MCU-R5F | No |
Networking
| Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested |
| TSN | WKUP-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 |
| LwIP | WKUP-R5F | YES | FreeRTOS | 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 |
| Ethernet driver (ENET) | WKUP-R5F | YES | FreeRTOS | 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 |
SOC Device Drivers
- Note
- See the updated MCASP usage guidelines in MCASP for changes in MCASP driver
| Peripheral | Domain | Supported CPUs | SysConfig Support |
| DDR | Main | WKUP-R5F | Yes |
| ECAP | Main | MCU-R5F | Yes |
| EPWM | Main | MCU-R5F, WKUP-R5F | Yes |
| DSS | Main | WKUP-R5F | Yes |
| GPIO | MCU | MCU-R5F, WKUP-R5F | Yes |
| Main | MCU-R5F, WKUP-R5F | Yes |
| I2C | Main | MCU-R5F, WKUP-R5F | Yes |
| MCU | MCU-R5F, WKUP-R5F | Yes |
| Wakeup | MCU-R5F, WKUP-R5F | Yes |
| IPC | Main | MCU-R5F, WKUP-R5F | Yes |
| MCAN | MCU | MCU-R5F | Yes |
| Wakeup | WKUP-R5F | Yes |
| MCASP | Main | WKUP-R5F | Yes |
| MCSPI | Main | MCU-R5F, WKUP-R5F | Yes |
| MCU | MCU-R5F, WKUP-R5F | Yes |
| MMCSD | Main | WKUP-R5F, MCU-R5F | Yes |
| OSPI | Main | WKUP-R5F | Yes |
| Pinmux | Main | MCU-R5F, WKUP-R5F | Yes |
| MCU | MCU-R5F, WKUP-R5F | Yes |
| Wakeup | MCU-R5F, WKUP-R5F | Yes |
| PMU | Wakeup | WKUP-R5F | Yes |
| SOC | NA | MCU-R5F, WKUP-R5F | Yes |
| SCIClient | NA | MCU-R5F, WKUP-R5F | Yes |
| RTC | MCU | MCU-R5F | Yes |
| Wakeup | WKUP-R5F | Yes |
| UART | Main | MCU-R5F, WKUP-R5F | Yes |
| MCU | MCU-R5F, WKUP-R5F | Yes |
| Wakeup | WKUP-R5F | Yes |
| UDMA | MCU | MCU-R5F | Yes |
| Wakeup | WKUP-R5F | Yes |
| WDT | Wakeup | WKUP-R5F | Yes |
Board Device Drivers
| Peripheral | Supported CPUs | SysConfig Support |
| EEPROM | MCU-R5F, WKUP-R5F | Yes |
| Ethernet PHY | WKUP-R5F | Yes |
| Flash | WKUP-R5F | Yes |
| LED | MCU-R5F, WKUP-R5F | Yes |
| PMIC | MCU-R5F | Yes |
Fixed Issues
| ID | Head Line | Module |
| EXT_SITMPUSW-245 | MCU+ SDK LPDDR4 Driver starts DDR Training/Leveling Sequence twice | DDR |
| EXT_SITMPUSW-293 | Sciclient driver uses incorrect context for the TISCI_MSG_KEYRING_IMPORT | DM |
| EXT_SITMPUSW-309 | LPM: Spurious wake up on MCU only mode | DM |
| EXT_SITMPUSW-312 | Incorrect context description of SCICLIENT_CONTEXT_DM2TIFS | DM |
| EXT_SITMPUSW-288 | LPM: Unable to enter LPM in Interrupt Mode | DM |
| EXT_SITMPUSW-302 | Compilation Errors when disabling DebugP logs. | DPL |
| 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-279 | I2C close is not working properly during error conditions | I2C |
| EXT_SITMPUSW-310 | Incorrect handling of the timeout for the CMD6 command | MMCSD |
| EXT_SITMPUSW-114 | MMCSD_enableBootPartition implements two mutually exclusive concepts as one function | MMCSD |
| EXT_SITMPUSW-295 | Flash Close Logic Requires OSPI Handle to be reset to 1S-1S-1S | 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-292 | Bootloader_socOpenFirewalls is called before System_init in the SBLs | SBL |
| EXT_SITMPUSW-214 | WDT: Hang due to no valid argument check in APIs | Watchdog |
| 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-153 | MCU+ SDK CCS Project Build Generates Invalid/Redundant Boot Image Files | Build |
| EXT_SITMPUSW-28 | Outstanding mailbox messages prevent suspend | IPC |
| EXT_SITMPUSW-259 | eMMC retuning may be attempted during the initialization sequence | MMCSD |
| EXT_SITMPUSW-222 | MMCSD field Card Type is not ordered logically in the Sysconfig | MMCSD |
| EXT_SITMPUSW-135 | RTC Test application failing intermittently. | RTC |
| EXT_SITMPUSW-220 | SBL_SD bootloaders report incorrect boot image size | SBL |
| EXT_SITMPUSW-324 | UART_udmaIsrTx does not handles continuous Callbacks properly | UART |
| EXT_SITMPUSW-258 | WKUP UART0 is not working in CallBack mode | UART |
| EXT_EP-12276 | ECC: Firewall related aggregators failures | SDL-ECC |
| EXT_EP-12277 | AM62Px: ECC: SDL_MCAN1_MCANSS_MSGMEM_WRAP_ECC_AGGR aggregator is failing | SDL-ECC |
| EXT_EP-12279 | CSI RX ECC aggregators are failing on AM62P/AM62X | SDL-ECC |
| EXT_EP-13265 | MCU R5 ECC Aggr init fails when MCU LBIST is enabled in bootloader | SDL-LBIST |
| EXT_EP-12280 | Running MCU LBIST on SBL causes JTAG connection issues to MCU R5F | SDL-LBIST |
Limitations
| S.No | Head Line | Module |
| 1 | The ROM startup model for runtime initializations in TI ARM CLANG is not supported/tested in the SDK | NA |
| 2 | LPM is not supported with SBL boot flow. It is supported only with SPL boot flow. | Bootloader |
| 3 | The EVM is limited to only one MAC address in the EEPROM, applications requiring multiple MAC addresses should enable and configure manual MAC address entry in Sysconfig. | Networking |
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.
The below table captures the list of migration document sections when migrating from one version to another. The migration for a partcluar module will be applicable, if you are migrating from older version listed to newer version listed on the table below.
Networking
| Module | Affected API | Change |
| TSN | notify_linkchange | notify_linkchange function is renamed to cb_lld_notify_linkchange, include path <tsn_combase/tilld/cb_lld_ethernet.h> in the file that uses cb_lld_notify_linkchange. |