Below features are not support on AM243X LAUNCHPAD due to SOC or board constraints,
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, mutexs, 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, mutexs, 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 | - |
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 | 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, A53 | YES | Basic input/output, GPIO as interrupt | GPIO as interrupt is not tested for A53. |
GTC | R5F, A53 | NA | Enable GTC, setting FID (Frequency indicator) | - |
I2C | R5F, M4F, A53 | 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, A53 | YES | Low latency IPC between RTOS/NORTOS CPUs | - |
IPC Rpmsg | R5F, M4F, A53 | YES | RPMessage protocol based IPC for all R5F, M4F, A53 running NORTOS/FreeRTOS/Linux | - |
MCAN | R5F | YES | RX, TX, interrupt and polling mode | - |
MCSPI | R5F, M4F | YES | Master/Slave mode, basic read/write, polling, interrupt and DMA mode | - |
MDIO | R5F | NA | Register read/write, link status and link interrupt enable API | - |
MMCSD | R5F | 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 | Read direct, Write indirect, Read/Write commands, DMA for read, PHY Mode | Interrupt mode not supported |
Pinmux | R5F, M4F, A53 | YES | Tested with multiple peripheral pinmuxes | - |
PRUICSS | R5F | YES | Tested with Ethercat, EtherNet/IP, IO-Link, ICSS-EMAC, HDSL, EnDat | - |
SOC | R5F, M4F, A53 | YES | lock/unlock MMRs, get CPU clock, CPU name, clock enable, set frequency | - |
Sciclient | R5F, M4F, A53 | YES | Tested with clock setup, module on/off | - |
SPINLOCK | R5F, M4F, A53 | NA | Lock, unlock HW spinlocks | - |
UART | R5F, M4F, A53 | YES | Basic read/write, polling, interrupt mode, | HW flow control not tested. DMA mode not supported |
UDMA | R5F, A53 | YES | Basic memory copy, SW trigger, Chaining | - |
WDT | R5F, A53 | YES | Interrupt after watchdog expiry | Reset not supported |
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 examples from examples\industrial_comms\ethercat_slave_demo folder | - |
EtherNet/IP Adapter FWHAL | R5F | NO | FreeRTOS | Tested with examples from examples\industrial_comms\ethernetip_adapter_demo folder | Multicast Filtering |
EtherNet/IP Adapter Evaluation Stack | R5F | NO | FreeRTOS | Tested with examples from examples\industrial_comms\ethernetip_adapter_demo folder | - |
IO-Link Master Evaluation Stack | R5F | NO | FreeRTOS | Tested with iolink_master_demo example | - |
Profinet Device FWHAL | R5F | NO | FreeRTOS | Tested with examples from examples\industrial_comms\profinet_device_demo folder | MRP |
Profinet Device Evaluation Stack | R5F | NO | FreeRTOS | Tested with examples from examples\industrial_comms\profinet_device_demo folder | - |
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-1908 | Enet - Disabling Resource Manager via ENET_CFG_RM_PRESENT flag causes failure for LWIP example | ENET | 8.0.0 onwards | AM64x, AM243x | - |
MCUSDK-2113 | [Docs] Sysfw RM/PM documentation doesn't specify AM243x | Docs | 8.0.0 onwards | AM243x | - |
MCUSDK-2131 | EtherCAT Slave increments long frame errors for frames with size less than 2000 bytes | EtherCAT Slave FWHAL | 7.3.0 onwards | AM64x, AM243x | - |
MCUSDK-2135 | Insufficient UDMA TX channels allocated for in Dual-mac mode | Enet | 8.1.0 onwards | AM64x, AM243x | Allocate minimum of 2 TX channels(ENET_CFG_TX_CHANNELS_NUM macro) in enet_cfg.h file |
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-2340 | [UDMA] Spurious interrupt is generated during channel disable | UDMA | 7.3.0 onwards | AM64x, AM243x | - |
MCUSDK-2344 | MCU+ SDK: Removing mmcsd driver in sysconfig file leads to linker error | MMCSD | 8.1.0 onwards | AM64x, AM243x | Include mmcsd in sysconfig |
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. |
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.
Module | Affected API | Change | Additional Remarks |
DPL | - | Renamed hello world example, examples/kernel/dpl/hello_world to examples/kernel/dpl/dpl_demo | This example was testing more DPL features rather than simple "hello world" |
UART | - | Added new parameter 'Operational Mode' in UART SYSCFG as part of bug fix MCUSDK-1898. | Also removed partial mode configuration in UART ECHO SYSCFG and updated example to receive 8 characters and then echoing back the same. |
Industrial Communications Toolkit | - | EtherCAT, EtherNet/IP and IO-Link examples are moved from ${SDK_INSTALL_PATH}/examples/industrial_protocols to ${SDK_INSTALL_PATH}/examples/industrial_comms | - |
Industrial Communications Toolkit | - | Profinet Device RT examples are moved from ${SDK_INSTALL_PATH}/examples/industrial_comms/profinet_device_rt_demo to ${SDK_INSTALL_PATH}/examples/profinet_device_demo | - |
Module | Affected API | Change | Additional Remarks |
EtherCAT Slave FWHAL and stack, EtherNet/IP Adapter FWHAL and stack, IO-Link stack and Profinet Device FWHAL | - | Sources are moved from ${SDK_INSTALL_PATH}/source/industrial_protocols to ${SDK_INSTALL_PATH}/source/industrial_comms | - |
SysConfig | - | Removed the module "Ethernet (ICSS)" and added "EtherNet/IP" and "Profinet" modules in SysConfig. Also removed inclusion of pins which are either not connected appropriately on the board or not required. | Any examples using "Ethernet (ICSS)" module in SysConfig will be affected. Any .syscfg file using this module, needs to be updated by removing lines related to "Ethernet (ICSS)" module using text editor and adding "EtherNet/IP" or "Profinet" module using SysConfig GUI. |
SysConfig | - | In "EtherCAT" module, removed inclusion of pins which are either not connected appropriately on the board or not required. | Any examples using "EtherCAT" module in SysConfig will be affected. Any .syscfg file using this module, needs to be updated by first removing and then adding this module back using SysConfig GUI. |
EtherNet/IP Adapter FWHAL | EIP_drvInit | Added pruicssHandle in EIP_Handle structure | pruicssHandle should be set by user before calling EIP_drvInit API. |
Profinet Device FWHAL | PN_initDrv | Added latchIntConfig in PN_IntConfig structure | latchIntConfig should be set by user before calling PN_initDrv API, if ENABLE_LATCH_SUPPORT macro is enabled in ${SDK_INSTALL_PATH}/industrial_comms/profinet_device/icss_fwhal/IRT/pnDrvConfig.h or ${SDK_INSTALL_PATH}/industrial_comms/profinet_device/icss_fwhal/RT_MRP/pnDrvConfig.h . |
ICSS TimeSync | TimeSync_reset | Added ptpDrvStackReset in TimeSync_Config_t structure | ptpDrvStackReset callback function should be provided by the user if a PTP stack reset callback is needed inside TimeSync_reset . |