工具/软件:TI-RTOS
大家好、
我们在 TM4C 器件的 NDK 驱动程序中发现了一个错误。 EMACSnow_InitDMADescriptioner()函数在 NDK 启动(也重新启动)时调用。 由于 g_TxDescList 和 g_RxDescList 被初始化、第一次就可以正常运行。 如果 NDK 堆栈被停止并再次启动、 EMACSnow_InitDMADescriptionors ()不会重新初始化这两个变量(更具体地说是 ulRead 和 ulWrite 字段)。 这会导致 NDK 间歇性工作和几个异常 EMAC 中断。 修复很简单...在 EMACSnow.c 的以下函数中添加粗体行 注:您可以对产品中的文件进行更改、然后重新构建驱动程序(有关更多详细信息、请参阅用户指南)、或者只需将 EMACSnow.c 文件添加到您的项目中(它将被拾取、而不是驱动程序库中的文件)。
空 EMACSnow_InitDMA 描述符(空)
{
int32_t i;
PBM_Handle hPkt;
G_TxDescList.ulRead = 0;
G_TxDescList.ulWrite = 0;
G_RxDescList.ulRead = 0;
G_RxDescList.ulWrite = 0;
Todd