This section describes the differences between UDMA APIs of MCU+ SDK and Processor SDK RTOS (PDK). This can be used as a migration aid when moving from Processor SDK RTOS (PDK) to MCU+ SDK.
There are few changes in API names, structure names and macro names along with few behaviour changes with respect to SysConfig integration. These are listed in below table.
PDK | MCU+ SDK | Remarks |
---|---|---|
UDMA_WAIT_FOREVER and UDMA_NO_WAIT | SystemP_WAIT_FOREVER and SystemP_NO_WAIT | Use SystemP macro for timeout parameter in all relevant APIs |
OSAL Abstraction through function pointer using Udma_OsalPrms, Udma_OsalCachePrms and Udma_PrintFxn structures | NA | These are removed as abstraction is done through DPL layer directly |
Udma_RmInitPrms | NA | Removed user override of resources. Instead the driver queries the DMSC board configuration and populate the default value during driver init |
UdmaUtils_makeTrpd first param type changed from: void * | UdmaUtils_makeTrpd to: uint8_t * | None |
All UTC, DRU, Proxy and generic flow related interfaces | NA | These are removed as these modules are not present in AM64x/AM243x |
Udma_chDequeueTdResponse | NA | This is removed as this feature is not applicable for AM64x/AM243x |
Udma_flowAlloc | NA | This is removed as this feature is not applicable for AM64x/AM243x |
struct Udma_DrvObj | Udma_DrvObject | Renamed and is also made as an abstract structure for user |
struct Udma_ChObj | Udma_ChObject | Renamed and is also made as an abstract structure for user |
struct Udma_RingObj | Udma_RingObject | Renamed and is also made as an abstract structure for user |
struct Udma_FlowObj | Udma_FlowObject | Renamed and is also made as an abstract structure for user |
struct Udma_EventObj | Udma_EventObject | Renamed and is also made as an abstract structure for user |
rmInitPrms, skipRmOverlapCheck, printFxn and osalPrms members in Udma_InitPrms structure | Removed | These are removed for reasons stated in above rows |