Hello,
We are using AM64x. We can use Ethernet from Linux side.
Now we need to use Ethernet firmware from R5f of AM64x.
We followed steps mentioned in link - https://dev.ti.com/tirex/explore/content/mcu_plus_sdk_am64x_09_01_00_41/docs/api_guide_am64x/EVM_SETUP_PAGE.html#EVM_FLASH_SOC_INIT
With this we do see the initial UART logs. But then the UDMA initialization fails with message -
Assertion @ Line: 1046 in /home/user/psdk_rtos_am64x-09_01_00/source/networking/enet/core/src/per/V1/cpsw.c: hCpsw->hRxRsvdFlow != NULL
On debugging we found that issue is Udma_init() -> UdmaRmInitPrms_init() -> Udma_rmGetSciclientDefaultBoardCfgRmRange() -> Sciclient_rmGetResourceRange()
Sciclient_rmGetResourceRange() is supposed to initialize rmDefBoardCfgResp members "rangeStart" and "rangeNum".
But, the rmDefBoardCfgResp members rangeStart and rangeNum variables stay Zero.
Due to this, "rmInitPrms->startMappedRxCh" and "rmInitPrms->numMappedRxCh" also stay zero.
Eventually, when the above values are used in Udma_rmAllocMappedRxCh() with preferredChNum being 16, the condition is not satisfied.
/* Array bound check */
if((preferredChNum >= rmInitPrms->startMappedRxCh[mappedChGrp]) &&
(preferredChNum < (rmInitPrms->startMappedRxCh[mappedChGrp] + rmInitPrms->numMappedRxCh[mappedChGrp])))
How can we fix this ?
Has anyone used Ethernet firmware on AM64x R5f ?
Best regards,
Nandan Chaturbhuj