Hi,
I am currently working with LWIP + CPSW on SK-AM64. Also an example exists in the SDK covering this topic: dev.ti.com/.../EXAMPLES_ENET_LWIP_CPSW.html
However, I always need to CPU power cycle if I want to relaod/rerun the program I am developing (also mentioned in the SDK) and disconnect and connect USB to be able to flash from CCS. This is a bit inconvenient...
If I do not follow these steps I get the following error:
EnetUdma_openRxCh: [Enet UDMA] UDMA RX Channel open failed: 0xffffffff EnetHostPortDma_open: Failed to open Enet DMA RX channel: -1 Cpsw_openInternal: CPSW: Failed to open CPSW DMA Assertion @ Line: 946 in /home/gtbldadm/nightlybuilds/repo_manifests/scripts/jenkins/mcu_plus_sdk_am64x_08_04_00_17/source/networking/enet/core/src/per/V1/cpsw.c: hCpsw->hRxRsvdFlow != NULL
Is there any possibility to overcome this issue?
My idea was to cleanly deinitialize UDMA ...
The application fails in Udma_chOpen() when trying to do Udma_chPair() (src/drivers/udma/udma_ch.c). In the generated drivers (ti_enet_open_close.c), which call these functions, I see that UDMA RX channels are initialized and opened with helper function EnetApp_openDmaChannels(). However, there is no such helper for closing DMA channels. I tried to add this functionality here, but working with this files is a bad idea as they are auto-generated and overwritten for each compilation.
Why is there no EnetApp_closeDmaChannels()? Could such a function cleanly shutting down DMA solve the issue? Or is there a completely other problem?
Do you have any solutions for that?
Kind Regards & Thank's
Dominik