This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TM4C1290NCPDT:NDK (在 TI-RTOS 中)在关断并重新启动后间歇性工作

Guru**** 2482105 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/710149/rtos-tm4c1290ncpdt-ndk-in-ti-rtos-works-intermittently-after-being-shutdown-and-restarted

器件型号:TM4C1290NCPDT

工具/软件: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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Todd、

    感谢您为社区发布此错误修复! 如果您发现此主题经常出现、请告诉我、我们可以在更新我们的非正式论坛常见问题解答帖子时考虑加入此帖子。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    听起来不错。 此外、我还更新 了 processors.wiki.ti.com/.../TI-RTOS_Support 以包含此问题(以及发现的其他2个网络问题)。