主题中讨论的其他器件:SK-AM64
您好!
我目前正在 SK-AM64上使用 LWIP + CPSW。 SDK 中还有一个涵盖该主题的示例: dev.ti.com/.../EXAMPLES_ENET_LWIP_CPSW.html
但是、如果我要重新布局/重新运行我正在开发的程序(SDK 中也提到了)、并且断开连接并连接 USB 以便能够从 CCS 闪存、我始终需要重新打开 CPU 电源。 这有点不方便...
如果我不按照这些步骤操作、则会显示以下错误:
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
是否有克服这一问题的可能?
我的想法是彻底的去初始化 UDMA ...
尝试执行 udma_chPair ()(src/drivers/udma/udma_ch.c)时,应用程序在 udma_chOpen ()中失败。 在调用这些函数的生成的驱动程序(ti_enet_open_close.c)中,我看到 UDMA RX 通道已初始化并使用辅助函数 EnetApp_openDmaChannels ()打开。 但是、没有这样的帮助来关闭 DMA 通道。 我曾尝试在此处添加此功能、但使用这些文件是一个不好的主意、因为这些文件会为每次编译自动生成并覆盖。
为什么没有 EnetApp_closeDmaChannels()? 这样一个功能是否可以完全关闭 DMA 来解决该问题? 或者是否存在完全其他的问题?
您有什么解决方案吗?
此致、谢谢
多米尼克